2016-04-11 18 views
0

:すべてうまく機能その私は、テーブルの各行でフォームを作ることで削除ボタンを持って眺めてい

<td> 
@using (Html.BeginForm("Delete", "FP/WorkItem", 
      new { fId = Model.FPId, workId = @w.FId })) { 
     <input name="deleteWorkItem" type="submit" value="Delete" class="btn btn-default" onclick="return confirm('Are you sure?');" /> 
    } 
</td> 

をして良いが、私はおかしい警告ダイアログを望んでいません。私はbootboxのような素敵なものを使いたいです。だから私は、ボタンの上にonclickのを削除し、私はいくつかのJavaScriptを追加するために、これを変更します。

$("input[name='deleteWorkItem']").click(function (e) { 
    //return confirm('Delete selected item?'); 
    e.preventDefault(); 
    bootbox.confirm("Delete selected item?", function (result) { 
     return result; 
    }); 
}); 

preventDefault確認ボックスがないと表示されません。 preventDefaultでは、ユーザーが削除しないと決定した場合、フォームはポストバックしません。

どうすれば両方のことができますか?

答えて

0

e.preventDefault()と確認の関数コールバックは手動でフォームの送信をトリガしてください:

bootbox.confirm("Delete selected item?", function (result) { 
    $(this).closest("form").submit() 
    return result; 
}.bind(this)); 
+0

私はHTMLボタン – VBAHole

+0

にonclickイベントを削除するJSソリューションで行くこれは提出されてからフォームを防ぐ行い、それがフォームを送信することを許可しないではなく、正しいフォーム。私は元の投稿にその​​タグを含めるべきでした。テーブルの各行にはフォームがあります。このメソッドはフォームをサブミットして、結果的にはちょうど – VBAHole

0

あなたが代わりにボタンの形をでpreventDefaultしてきました。 例を参照してください:

$("form").on("submit", function (e) { 
     e.preventDefault(); //prevent default form submit 

     //do the work here 
    }); 


$("#buttonToSubmit).on("click", function(){ 
    //Line used to force submit the form 
    $("form").off("submit").submit(); 
}); 
+0

のフォームを送信しますが、フォームの送信時にデフォルトを防ぐと、ユーザーはそのレコードを削除したいと言っています。フォームは送信できません。 – VBAHole

+0

私は自分の回答を編集しました。見て、それがあなたを助けるかどうかを見てください。 –

+0

これは、フォームが提出することができますが、私は必要なフォームではありません。 Htmlヘルパーメソッドが作成する削除フォームではありません。 – VBAHole

関連する問題