2017-03-03 15 views
0

私はチェックボックスの値を送信するフォームを持っています。提出する前に、Bootboxの確認ダイアログが表示されます。しかし、「はい」をクリックすると、フォームは送信されません。どうすれば修正できますか?私のコードは次のとおりです。ブートボックスの確認でフォームを送信する方法

$('#student_delete_form').submit(function(e) { 
 
    var currentForm = this; 
 
    e.preventDefault(); 
 
    bootbox.confirm("Are you sure?", function(result) { 
 
    if (result) { 
 
     currentForm.submit(); 
 
    } 
 
    }); 
 
});
<form id="student_delete_form" name="" action="#" method="post"></form> 
 
<input type='submit' value='Delete' name='delete' form="student_delete_form"><br> 
 
<?php $studentArray = array(3, 4, 5, 6); ?> 
 
<?php foreach ($studentArray as $key => $value): ?> 
 
<input name="checkbox[]" type="checkbox" value="<?php echo $value;?>" form="student_delete_form"> 
 
<?php echo $value;?><br> 
 
<?php endforeach; ?> 
 

 
<?php 
 
    if(isset($_POST['delete'])){ 
 

 
     $chk=isset($_POST['checkbox'])? $_POST['checkbox']:""; 
 
     if ($chk != "") 
 
     { 
 
     $chk_array=array_filter($chk); 
 

 
     foreach($chk as $key => $chke) 
 
     { 
 
      echo "$chke"; 
 
     } 
 
     } 
 
    } 
 
?>

+1

あなたが無限ループにしている - 同じ関数を呼び出しますもう一度あなたを同じ場所に戻します。別の関数を呼び出すか、ユーザーがOKをクリックしたことを示す関数に引数を渡す必要があります。 –

答えて

0

あなたが無限ループにしている - 再び同じ機能を呼び出すと、ちょうど同じ場所に戻って戻ります。

あなたはjavascriptの

$("input[name='delete']").on("click",function(e) { 
    e.preventDefault(); 
    bootbox.confirm("Are you sure?", function(result) { 
    if (result) { 
     $('#student_delete_form').submit(); 
    } 
    }); 
}); 
+0

これらはダイアログ確認のループを返すか、全く送信しません。 –

+0

フォーム提出はまだ動作しません –

+0

それはいいです:)しかし、実際に私は既に更新されたコードを試して、それも動作しません。 –

0

が同じくらいいることを確認を使用して、次試すことができ、

$("input[name='delete']").click(function() { 
    bootbox.confirm("Are you sure?", function(result) { 
    if (result) { 
     $('#student_delete_form').submit(); 
    } 
    }); 
}); 

(テストが、近くにあるべきではない)、これを試す更新

からform="student_delete_form"を削除「削除」ボタン

アップデート2

あなたが「削除」ボタンからフォームの属性を削除したくない場合は、次の

$("input[name='delete']").click(function(e) { 
    e.preventDefault(); 
    bootbox.confirm("Are you sure?", function(result) { 
    if (result) { 
     $('#student_delete_form').submit(); 
    } 
    }); 
}); 

Here's a fiddle showing the code working as it should

+0

if remove e.preventDefault(); 、Bootboxの確認ダイアログは表示されません。 –

+0

更新を見てください –

+0

申し訳ありませんが、私はすでにそれを試してみて、その後提出しません。 –

関連する問題