2

私のフォームIDは「requestquote」です。フォームを送信すると、コンソールに「formSub has no value」というエラーが表示されます。フォーム プロセスは PHP アクション ファイルを介して完了していますが、この JavaScript も実行する必要があります。任意の提案をいただければ幸いです。

<script> 
_opt.push(['instrument','requestquote']);

var formSub = $('requestquote');
console.log(formSub);

formSub.submit(function(){

_opt.modifyFormParameters = function(parameters){

parameters["_orig_action"] = document.getElementById("_orig_action").value;
parameters["_opt_vid"] = document.getElementById("_opt_vid").value;
parameters["_opt_visit"] = document.getElementById("_opt_visit").value;
parameters["_opt_cid"] = document.getElementById("_opt_cid").value;
parameters["_opt_url"] = document.getElementById("_opt_url").value;
parameters["_opt_paget"] = document.getElementById("_opt_paget").value;
parameters["first_name"] = document.getElementById("name").value;
parameters["company"] = document.getElementById("company").value;
parameters["website"] = document.getElementById("url").value;
parameters["email"] = document.getElementById("email").value;
parameters["phone"] = document.getElementById("phone").value;

return parameters;
};
_opt.push(['submit', 'requestquote']);
_opt.the_form = this;

setTimeout(function(){ _opt.the_form.submit(); } , 1000);
return false;
});
</script>

フォームコードはこちら

<form id="requestquote" action="/quote-process/contact_pr_EPH.php" method="post">
4

4 に答える 4

3

フォームのIDの場合は、次のようになります。

$('#requestquote');または$('form#requestquote');

$()だけではありませんGetElementByID。jQuery(真のSizzle)セレクターを読んでください:http: //api.jquery.com/category/selectors/

于 2012-09-10T15:11:48.883 に答える
0

スクリプトの3行目ではvar formSub = $('requestquote');var formSub = $('#requestquote');

#は、タグ名ではなくIDを検索することをjQueryに示します。

于 2012-09-10T15:17:28.380 に答える
0

これは通常、次のいずれかが原因で発生します。

  • ドキュメントに指定されたIDの要素がまったくない
  • スクリプトの実行時にドキュメント内に指定されたIDの要素がない(たとえば、ソースの順序での<script>前にが表示される場合)<form>

タイミングの問題に対処するには、ソースの順序を並べ替えるか、フォーム要素が存在した後にonload /ondomready/またはそれ以外の場合に呼び出される関数でgEbId呼び出しをラップします。

于 2012-09-10T14:47:50.400 に答える