0

Javascript のヘルプが必要です。

私のhtmlの中に、2回繰り返されるフォームがあります。

<form method='post' action='php page'>
   <input type=text id=something name=something value='' />
   <input type="submit" id="final_submit" value="yes">
</form>

この正確な形式が 2 回繰り返されます。javascript では、誰かが送信ボタンをクリックしたときに、そのフォーム内の値を取得するためにどのボタンがクリックされたかを判断できる必要があります。現在、2 番目のフォームのボタンをクリックしても、最初のフォームの値が自動的に取得されます。

アイデアをください。

4

2 に答える 2

0

それはあなたが必要とするものですか?

function determineForm(e)
{

 // This prevents the form from actually being submitted.
 // Just remove it when you are done debugging.
 e.preventDefault();

 if (document.querySelectorAll("form")[0] === e.target)
 {
  alert("Form1");
 }
 else
 {
  alert("Form2");
 }
}
document.addEventListener("submit", determineForm, false);
于 2012-09-05T18:01:22.407 に答える
0

コメントで言及されているように、重複した ID の使用は間違っています。これは、古いブラウザを使用しても機能する入力の値を取得する方法ですdocument.formsforms.element

var forms = document.forms;
for(var i=0, l= forms.length; i++){
  forms[i].addEventListener('submit', function(e){
   e.preventDefault();
   var form = e.target;
   var value = form.elements[0].value;
  })
}

これにより、サイドのすべてのフォームに送信イベント リスナーが追加され、イベントが停止して、このフォームの最初の入力フィールドから値が取得されます。

于 2012-09-05T18:27:03.437 に答える