0

私はJavaScriptの経験が非常に限られているため、以下のスクリプトを変更して、POST試行後に成功または失敗のアラートを表示しようとしています:

<script language="javascript" type="text/javascript">
        $(function() {
            $("form").submit(function(e) {
                $.post($(this).attr("action"),
                        $(this).serialize(),
                        function(data) {
                    $("#result").html(data);
                });
                e.preventDefault();
            });
        });
</script>

次のようにする必要があることはわかっています。

success: function(){
                    alert("Edit successful");
                },
                error: function(){
                    alert('failure');

しかし、構文エラーなしで統合する方法がわかりません。このスクリプトは、上記のコードが通常実行する POST を実行して、この成功または失敗の確認を可能にするためのものです。

@using (Html.BeginForm("Admin", "Home", "POST"))
{
    <div class="well">
        <section>
            <br>
            <span style="font-weight:bold">Text File Destination:&#160;&#160;&#160;</span>
            <input type="text" name="txt_file_dest" value="@ViewBag.one">
            <span style="color:black">&#160;&#160;&#160;Example:</span><span style="color:blue"> \\pathpart1\\pathpart2$\\</span>
            <br>
            <br>
            <span style="font-weight:bold">SQL Connection String:</span>
            <input type="text" name="sql_Connection" value="@ViewBag.two">
            <span style="color:black">&#160;&#160;&#160;Example:</span> <span style="color:blue"> Server=myserver;Database=mydatabase;Uid=myusername;Pwd=mypswd</span>
            <br>
            <br>
            <button class="btn btn-success" type="submit" name="document">Save Changes</button>
        </section>
    </div>
}

アクション結果

public ActionResult Admin(string txt_file_dest, string sql_Connection)
        {
            AdminModel Values = new AdminModel();

            if (txt_file_dest != null)
            {
                Values.SAVEtxtDestination(txt_file_dest);
            }

            if (sql_Connection != null)
            {
                Values.SAVEsqlConnection(sql_Connection);
            }
            ViewBag.one = Values.GetTextPath();
            ViewBag.two = Values.GetSqlConnection();
            return View();
        }
4

1 に答える 1

1
$.post(
    $(this).attr("action"), // url
    $(this).serialize(), // data
    function(data) { //success callback function
        alert("Edit successful");
    }).error(function() {
        alert('failure');
    });

これは、次のように記述できる省略形の ajax 関数です。

$.ajax({
  type: "POST",
  url: $(this).attr("action"),
  data:  $(this).serialize(),
  success: function(data){
    alert("Edit successful");
  },
  error(function() {
    alert('failure');
  }
});
于 2013-04-25T13:12:49.053 に答える