2016-08-25 6 views
3

オプション値を変更してsumbitをクリックした後、「リンク」ボタンに移動するには? 私は値を変更したときに、私はオプション値から「リンク」ボタンに移動するには?

<form action="search-form" method="post"> 
<select onChange="window.location.href=this.value" > 
<option value="here comes a link nr 1">coffie medium</option> 
<option value="here comes a link nr 2">coffe big</option> 
</select> 
<button type="submit" name="submit" value="submit"><img src="xyz.JPG" width="240" height="72"> 
</button> 
</form>    
+0

あなたのselectタグ –

答えて

1

select要素からonchangeを削除し、あなたのsubmitボタンのリスナーを書く提出クリックする前に、それは(あなたがsearch-formアクションを使用している「リンク」になるだろうので、私は、問題を持っています既に)

<form action="search-form" method="post"> 
<select> 
<option value="here comes a link nr 1">coffie medium</option> 
<option value="here comes a link nr 2">coffe big</option> 
</select> 
<button type="submit" name="submit" value="submit"><img src="xyz.JPG" width="240" height="72"> 
</button> 
</form> 

EDIT: @Peril要求に応じて溶液を添加します。フォーム提出用にonsubmitを使用する場合は、以下のように動作します。 @Peril通常、我々はanchorタグをクリックしたときに我々はページに外部リンクをロードする:あなたは

function submit_form() { 
 
    window.location.href= document.getElementById('select-box').value; 
 
}
<form onsubmit="submit_form()" method="post"> 
 
     <select id="select-box"> 
 
     <option value="http://google.com">coffie medium</option> 
 
     <option value="http://yahoo.com">coffe big</option> 
 
     </select> 
 
     <button type="submit" name="submit" value="submit">submit</button> 
 
    </form>

EDIT 2option値の有効なリンクを与える必要があることに注意してください。 window.location.hrefを使用してロードすると、cross-origin accessエラーが発生します。以下のスニペットをローカルのhtmlファイルに置き、チェックアウトしてください。

// load href initially 
 
document.getElementById('form-button').setAttribute('action', document.getElementById('select-box').value); 
 
// load href on value change of select 
 
function onChangeValue() { 
 
    document.getElementById('form-button').setAttribute('action', document.getElementById('select-box').value); 
 
    return false; 
 
}
<body> 
 
    <select id="select-box" onchange="onChangeValue()"> 
 
    <option value="http://www.google.com">coffie medium</option> 
 
    <option value="http://www.facebook.com">coffe big</option> 
 
    </select> 
 
    <form action="#" id="form-button" style="display:inline"> 
 
    <input type="submit" value="Submit" /> 
 
    </form> 
 
</body>

+0

からのonChange = "window.location.href = this.value" を削除何もない仕事.... – Peril

+0

私はここで何を聞くべきですか?私は初心者です.... – Peril

+0

@Perilはオプション値からページを読み込むために 'onsubmit' JavaScriptリスナを使いました。あなたの質問に答えることを期待してください:)これがあなたを助けたなら、Upvote /マークを受け入れてください。ありがとう! – kukkuz

0

選択ボックスからのonchangeイベントを削除し、ボタンのクリックにJSでそれを検証します。ページの送信ボタンを

0
<form action="search-form" method="post"> 
<select> 
<option value="here comes a link nr 1">coffie medium</option> 
<option value="here comes a link nr 2">coffe big</option> 
</select> 
<button type="submit" name="submit" value="submit"><img src="xyz.JPG" width="240" height="72"> 
</button> 
</form> 

の使用が何であるかをリダイレクトする場合、これはあなたの選択した属性に含め

1

てみ作業ADRESのURLに、それだけの広告「検索フォーム」されていない「のonchange」とオプションの値でのリンク方法:

<select name="form" onchange="location = this.value;"> 
<option value="Home.php">Home</option> 
<option value="Contact.php">Contact</option> 
<option value="Sitemap.php">Sitemap</option> 
</select> 
+0

しかし、その動作していない – Peril

0

JavaScriptやJqueryを使用している場合は、

まずセレクト作成:新しい場所をASSINGため

<select name="form" id="form"> 
<option value="url">Home</option> 
<option value="url">Contact</option> 
<option value="url">Sitemap</option> 
</select> 

するTry .changeを:

$("#form").change(function(){ 
var url = $(this).val(); 
location.assign(url); 
}); 
関連する問題