2017-08-05 14 views
1

私にはほとんどコントロールできないウェブサイトがあります。URLのパラメータに基づいて選択されたドロップダウンメニューオプション

プリセットフォームには、私が設定したいと思うオプションがあります。コードの

例は次のとおりです。

しかし、何が私のために働くようだ domain.com/page?paper=1:私は例の多くの亜種を試してみた

<form id="myForm" action="https://secure.domain.net/account/order" method="post"> 
<table><tbody><tr class="paperTR tr_class_paper"><td class="paperTD fiTitle fiItem"> 
<div>Paper</div> 
<select id="paper" name="paper" onchange="EC_LithoCalc.updateForm()"> 
<option value="1">Option1</option> 
<option value="2">Option2</option> 
<option value="3">Option3</option> 
<option value="4">Option4</option> 
</select> 
</td></tr></tr></tbody></table> 
</form> 

私が見つけたものはすべてjavascriptまたはjqueryについて話していますが、私はこれらの知識がありません。しかし、私はコーディングが<タグで始まり、私が見るものはちょうど内部のもののように見えることを知っています。

私はとても混乱しています。

誰でも私を助けることができますか?

私は一日中このごろ行っており、何か助けていただければ幸いです。

ありがとうございます。

答えて

1

クエリ文字列パラメータとしてpaper = 1を設定していますが、これは選択コントロールの値を変更しません。クエリ文字列パラメータの値を抽出し、それに応じて選択コントロールを設定する必要があります。

JavaScriptでクエリ文字列パラメータを取得するために、あなたは、クエリ文字列パラメータに渡された値を持っていたら、次のように、あなたはJavaScriptで選択コントロールを設定することができますHow can I get query string values in JavaScript?

この記事にマークされた答えを参照することができます:

document.getElementById('paper').value = paperValue; 

ここで、paperValueは、ページに渡される値を保持する変数です。ドキュメントの準備ができたら、選択した値を設定する機能をロード/実行してください。

+0

あなたのご意見ありがとうございましたMaximo、しかし私は何を見ているのか、それをどう実装するのか分かりません。私はjavascriptの知識がないので、詳細を教えていただけますか? – Lost305

+0

私は印をつけた答えをメモに入れ、書いたコードにscript.jsという名前を付けました。私は次のURLを試しましたか?paper = 251?paperValue = 251?value = 251しかし、何も動作しません。 – Lost305

+0

また、これを示しています... Uncaught ReferenceError:paperValueが定義されていません – Lost305

1

</tr>を削除する必要があります。

送信ボタンを使用してそのフォームを送信する必要があります。あなたはASPやPHP、JavaScriptやjQueryを使ってのいずれかで、この作品を作るための唯一の方法のような任意のサーバー言語を使用していない場合は、あなたの完全なコードは、この

<form id="myForm" action="https://secure.domain.net/account/order" method="post"> 
    <table> 
    <tbody> 
    <tr class="paperTR tr_class_paper"> 
    <td class="paperTD fiTitle fiItem"> 
     <div>Paper</div> 
     <select id="paper" name="paper" onchange="EC_LithoCalc.updateForm()"> 
     <option value="1">Option1</option> 
     <option value="2">Option2</option> 
     <option value="3">Option3</option> 
     <option value="4">Option4</option> 
     </select> 
    </td> 
    </tr> 
    </tbody> 
    </table> 
    <input type="submit" value="Submit"> 
</form> 
1

ようにする必要があります。ページが完全に読み込まれた後に実行するように設定できます。

<script> 
    if (document.readyState == 'complete') { 
     var item = document.getElementById('paper').value; 
     var items = document.getElementById('paper').options; 
     for (var x = 0; x < items.length; x++) { 
      if (items[x].value == item) { 
       items[x].setAttribute('selected', true); 
      } 
     } 
    } else { 
     items[x].removeAttributes('selected'); 
    } 
</script> 

UPDATE 1:

あなたが本当にただ、デフォルトで選択されたオプションを持つ上の意図と思われるので、単に目的のオプションタグに'selected'パラメータを追加します。

<option value="default" selected="selected">Default value</option> 

他のオプションタグに同じパラメータが含まれている場合は、それらのタグを削除します。

+0

ありがとうございます、私はウェブページにコードを入れました。私がdomain.com?paper=251を呼び出すと、フォームは変更されません。私は間違って何をしていますか? – Lost305

+0

フォームは取得メソッドではなく、取得メソッドを使用します。また、選択タグで選択した値を変更するのは、その時点で記録されたオプションを知るためにデータベースや他のデータソースが必要なため、編集ビュー/ページでのみ機能します。長い話を簡単に言えば、これはサーバー言語を使用している場合にのみ動作します。これが単純なHTMLページの場合は、デフォルトで選択したいオプションタグに 'selected = " selected "'を追加してください。または、フォームタグ内のアクションアドレスをこのページ自体に変更し、私が答えに入れたスクリプトを追加してください。 – Tiramonium

+1

ウェブサイトがPOSTとGETを使用しているかどうかを判断する方法がわかりませんが、データベースがあるのでGETとみなします。私はPHPファイルやDBにアクセスすることはできませんが、WebサイトはPHPを使用しています。私はちょうどHEADを含むHTMLを変更するためのバックエンドフォームを提供しています。 – Lost305

関連する問題