0

私はjqueryを初めて使用し、フォームから投稿された値を取得できないことを除いて、非常にうまく機能する確認/キャンセルメッセージボックスを持っています。私はそれが私であり、jqueryの理解が不足していることを知っていますが、誰かが私のコードを見て、関数(結果)に何が必要かを教えてくれれば、フォームが自分自身に投稿されたときに使用できるようになりますif(isset['$_post['delete_job'])) PHPスクリプトを実行するため。

私のフォーム...

<form id="del_job" onsubmit="return del_job()" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div id="deleted"><button type="submit"  name="delete_job" title="Delete Job" style="float:left; border:none; cursor:pointer" ><img src="img/delete.jpg" /></button> Delete</a></div>
</form>

私のJquery...

<script type="text/javascript">
  $(document).ready(function() {
    $('#del_job').submit(function(ev){

      $.msgbox("Are you sure?", {
        type: "confirm", 
        buttons: [
          {type: "submit", value: "Yes"},
          {type: "cancel", value: "No"}
        ]
      }, function(result) {
        if (result && result=='Yes') {
          $('#del_job').send();
        }
      });

      ev.preventDefault();
    });
  });
</script>
4

1 に答える 1

0

ついに問題を発見!

BUTTON 要素は送信された POST データの一部ではないようです。実際の値を保持していないため、これは理にかなっていると思います。ここでは 2 つの選択肢があり、 に切り替えることができます<button><input type="submit" name="delete_job" value="Delete" />、ここでの制限は、ボタンに画像を含めることができないことです。

もう 1 つのオプションは、隠しフィールドを追加して使用isset()することです。これを行うには、フォームに追加し、フォームが送信されたかどうかを確認するために<input name="del_job_submit" type="hidden" value="1" />使用します。isset($_POST['del_job_submit'])

于 2012-09-11T20:51:27.100 に答える