0

多くのフィールドと 2 つの送信ボタンがあるフォームがあります。クリックした送信ボタンに応じて、異なるチェックを実行したい。以下のコードを書いてみましたが、間違っています (私は JS を知りません) 何も起こりません (構文が悪いのでしょうか?)。2 つのボタンのどちらがクリックされたかを確認するにはどうすればよいですか?

document.getElementById('sub1').onclick = checkForm;
document.getElementById('sub2').onclick = checkForm;

function checkForm(e)
{
    var e = e || window.event;
    var o = e.srcElement || e.originalTarget;

    if(o.id=="sub1")
        return checkNotNull();
    else
        return checkSamePass();
}
4

2 に答える 2

1

なぜそんなに複雑にするのですか?

function checkForm(button) {

  formOk = false;

  if (button = 'first') {
    //check form
    if (formOk) myform.submit();
  }

  if (button = 'second') {
    //check form using other logic
    if (formOk) myform.submit();
  }

}


<input type="button" onClick="checkForm('first');" value = "button 1">
<input type="button" onClick="checkForm('second');" value = "button 2">
于 2009-09-02T21:59:18.530 に答える
1

あなたのコードをテスト ページに入れましたが、FF と IE の両方で問題なく動作します。問題は、呼び出している 2 つの関数にある可能性がありcheckNotNull()ますcheckSamePass()。それらが機能しており、適切に戻っていることを確認します。

. _ o.id_alert(o.id)

于 2009-09-02T22:11:34.353 に答える