-1
選択したラベルに基づいてユーザーをリダイレクトする小さなスクリプトを作成しました。オンページjQueryスクリプトがアウトソーシング後に失敗する
ON-PAGE SCRIPT
<form id="contact" method="POST" name="contact">
<label for="request" class="mandatory">
<select id="request" required>
<option selected="selected" value="">-Please select-</option>
<option value="A">Selection A</option>
<option value="B">Selection B</option>
</select>
</label>
</form>
<input id="redirect" type="hidden" name="redirect" value=""/>
<input class="send" onclick="submit_form();" type="submit" name="Submit" value="Send Mail" />
</form>
<script>
$("form").ready(function(){
$("select").change(function(){
$("select option:selected").each(function(){
if($(this).attr("value")=="A"){
$("#redirect").val("http://example.com/a");
}
if($(this).attr("value")=="B"){
$("#redirect").val("http://example.com/b");
}
});
}).change();
});
</script>
スクリプトが正常に動作しますが、今、私は外部JSファイルにそれをアウトソーシングに苦しみました。
HTML
<form id="contact_form" method="POST" name="contact_form">
<label for="request" class="mandatory">
<select id="request" required>
<option selected="selected" value="">-Please select-</option>
<option value="A">Selection A</option>
<option value="B">Selection B</option>
</select>
</label>
</form>
<input id="redirect" type="hidden" name="redirect" value=""/>
<input class="send" onclick="submit_form();" type="submit" name="Submit" value="Send Mail" />
<script src="/form/flexRequest.js"></script>
<script>
$("form").ready(function(){
flexRequest();
});
</script>
JSファイル
function flexRequest(){
$("select").change(function(){
$("select option:selected").each(function(){
if($(this).attr("value")=="A"){
$("#redirect").val("http://example.com/a");
}
if($(this).attr("value")=="B"){
$("#redirect").val("http://example.com/b");
}
});
}).change();
});
あなたが見ることができるように、私はJSファイルを統合し、特定のページのイベントでそれを初期化する必要があることを承知していますpagecreate
のようになります。しかし、私は最終的な解決に苦しんでいます。
フォームには準備完了イベントがありません....ドキュメントでなければなりません。 – epascarello
スクリプトは正しくロードされていますか?デベロッパーツールのネットワークパネルの404として表示されますか?コンソールのエラーは何ですか? – epascarello
@epascarelloあなたのスクリプトはごめんなさい。私はちょうど私の答えからそれをコピーしました。それが意味をなさないならば、私の答えは間違っています。あなたは私よりも経験が豊富です。 [mcve]が作成されるまであなたと一緒に行きます。 – Soolie