0

ユーザーがコンテンツを更新/削除できるフォームに2つの送信ボタンがあります。ユーザーが [削除] ボタンをクリックした場合にのみ確認ポップが必要です。

<html>
<head>
<script type="text/javascript">

function confirmation() {
        // I need to know which submit button was pressed.
       if (value==Delete){
        var answer = confirm("Cancel?")
            if (answer){
                    return true;
            //Continue as intended
            }
            else{
             return false
            }
      }
}

</script>
</head>
<body>
<form id="Edit_Data">
//form input fields go here
<input name="action"  type="submit" onclick="confirmation()" value="Update">
<input name="action"  type="submit" onclick="confirmation()" value="Delete">
</form>
</body>
</html>

何か案は?

4

3 に答える 3

0

html タグで onclick イベントを定義する場合、別の関数を呼び出さないのはなぜですか?

于 2012-05-19T17:16:43.483 に答える
0

最も簡単な方法は、[更新] ボタンで JavaScript を呼び出さないことです。

フォームが静的な場合は、IDE でこれを行います。動的な場合、動的コードはそれに応じてフォーム要素を作成できます。

フォーム要素が自動的に生成される場合は、JavaScript で動的にイベント ハンドラーを設定する必要があります。type 属性が button または submit である input 型のすべての要素を検索し、代入します。

elems[i].onclick = confirmation;

次に、イベント オブジェクトをメソッド パラメーターとして取得し、それに対してボタンの値をクエリできます。

于 2012-05-19T17:20:35.627 に答える
0

まず、コードにいくつかの問題があります。if ステートメントの値は未定義の変数です。次に、削除を引用符で囲む必要があります。ここではフィドルhttp://jsfiddle.net/SMBWd/と関連するコードの変更を行っています。また、HTML で JavaScript を使用せずにこれを行う方法を確認することをお勧めします。

function confirmation(e) {
        // I need to know which submit button was pressed.
       if (e.value=='Delete'){

そしてHTMLで

<input name="action"  type="button" onclick="confirmation(this)" value="Update">
<input name="action"  type="button" onclick="confirmation(this)" value="Delete">
于 2012-05-19T17:24:28.223 に答える