javascript - 防止表单自动提交ajax laravel

标签 javascript jquery ajax forms laravel

我已经使用 ajaxdatabase 中获取数据,并使用 javascript confirm 对话框将其显示给用户。但即使在用户选择 cancel 选项后,form 也会被提交,但我只想在用户希望通过选择 OK 继续进行时提交表单> 在确认框中。这是我的代码

     <form class="form-horizontal form-bordered" method="post" id="ncell" action="formaction">
           <input type="hidden" name="_token" value="{{csrf_token()}}">

             <div class="form-group">
                <label class="col-md-3 control-label" for="inputSuccess">Amount</label>
                     <div class="col-md-6">
                         <select class="form-control mb-md" name="amount" id="amount">
                                 <option value="10">10</option>
                                 <option value="20">20</option>
                                 <option value="30">30</option>
                                 <option value="40">40</option>
                                 <option value="50">50</option>
                          </select>

                  </div>
               </div>

    <div class="input-group mb-md">                  
    <button type="submit" class="btn btn-warning btn-sm" id="sub">Submit</button>
     </div>
</form>

和我的javascript

<script>
    $("#ncell").submit(function(e){
        var selectedVal= $("select option:selected").val();
        $.ajax({
            type:"GET",
            url: "/getdollarvalue",//put y
            data:{ value:selectedVal},
            contentType: "application/json; charset=utf-8",
            dataType: "Json",
            success: function(result){
                return confirm(result.nrs); // Note Send the Json Object from the server side
            }

        });
        e.preventDefault();
    });
</script>

我现在在用户单击 submit 按钮时收到确认对话框。只有当用户在 confirm 对话框中单击 OK 时,我才想继续进行。

最佳答案

<script>
        $("#ncell").submit(function(e){
            var selectedVal= $("select option:selected").val();
            $.ajax({
                type:"GET",
                url: "/getdollarvalue",//put y
                data:{ value:selectedVal},
                contentType: "application/json; charset=utf-8",
                dataType: "Json",
                success: function(result){
                    if(confirm(result.nrs)){
                         $("#ncell").submit();
                  } 
                }

            });
            return false;
        });
    </script>

或者您可以使用 e.preventDefault(); 代替 return false

关于javascript - 防止表单自动提交ajax laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731202/

相关文章:

ajax - 定期刷新 Tapestry 区域

javascript - 刷新页面后返回jstree中加载状态的数据

java - Selenium:动态按钮和类?

javascript - 使用 jQuery Mobile 选择作为菜单更改 URL 或内部页面

javascript - 如何初始化多个 Firebase 项目

javascript - 用于修复 css 的用户脚本

jquery - 如何检测TinyMCE的变化?

javascript - 使用 javascript 和 jquery ui 单击事件的 css

javascript - AJAX 和处理 PHP 页面 - 不一起玩

mysql - 如何使magento搜索功能更快?