2

次のコードは、ファイル delObservation.php にリンクし、レコードを削除するボタンをForm持つ多数の を動的に作成します。Input関数を含めたいので、Confirmこのスクリプトを追加しました。メッセージ ボックスが表示されConfirmますが、確認メッセージ ボックスで [キャンセル] をクリックしても、まだ delObservation.php が呼び出されます。私は何を間違っていますか?

<script language="JavaScript" type="text/javascript">
function checkDelete(){
return confirm('Are you sure you want to delete this record?');
}
</script>

<form name="deleteReport" action="http://www.website/delRecord.php" method="Post">
    <input name="recordID" type="submit" 
           value="<?php echo$row['recordID'] ?>" class="delButton" 
           onclick="checkDelete()" >
</form>
4

3 に答える 3

3

input onclickイベントを変更してみてください:

//from 
onclick="checkDelete()"
//to
onclick="return checkDelete()"

戻り値が false の場合、デフォルト アクションをキャンセルします。

例えば:

//to do the default action regardless return value of the function
onclick="checkDelete();" //Or
onclick="checkDelete(); return true;"

//to cancel the default action regardless return value of the function
onclick="checkDelete(); return false;"

//to decide the action depending return value of the function
//Your requirement
onclick="return checkDelete();" 
于 2013-10-06T08:50:58.423 に答える
1

以下returnのように a を追加する必要があります。onclick

<input name="recordID" type="submit" value="<?php echo $row['recordID'] ?>" class="delButton" onclick="return checkDelete()">

フィドルをチェックする

また、phpの後にスペースがないことに気付きましたecho

于 2013-10-06T08:54:12.597 に答える
1

これを試して:-

<input name="recordID" type="submit" value="<?php echo$row['recordID'] ?>" 
class="delButton" onSubmit="return checkDelete()">
                  ^^^^^^^
于 2013-10-06T08:52:38.093 に答える