使用Ajax在页面加载时提交表单输入值

时间:2018-06-20 15:00:03

标签: javascript jquery ajax

我有表单和输入,我想将其值发送到控制器。我想在页面加载或使用ajax和jquery刷新当前页面时发送其值,因为当我在主体中编写Submit函数时页面会重新加载标签onload事件。 这是我的代码:

<form method="post" id="counterForm" name="counterForm">
    @csrf
    <input type="number" name="count" id="count" value="{{ $visit->counts }}">
</form>

脚本代码:

$(window).load(function(){
                    var n=document.getElementById("count").value;
                    $.ajax({
                        type:'POST',
                        url:'/count',
                        data:n,
                    });
                });

我的控制器文件:

public function count(Request $request)
    {
        $value=($request->count)+1;
        DB::table('visitorcounter')->update(['counts'=>$value]);
    }

那是我的代码,但是不起作用...谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用.submit():

  

将事件处理程序绑定到“提交” JavaScript事件,或触发   该事件在元素上。

您的代码应为:

$(window).load(function() {

     $('#counterForm').submit(function(){return true;});
});

查看以下示例:

$(window).load(function(){
    // this is the id of the form
    var url = "results.php"; // the script where you handle the form input.
    $.ajax({
           type: "POST",
           url: url,
           data:$( "#myformR" ).serialize(),
           dataType: "html", //expect html to be returned                
           success: function (response) {
                $("#prores").html(response);
            }
         });
});

答案 1 :(得分:0)

我发现了它……我们可以非常简单地创建访问者计数器,方法是使用带有一个整数列和DB :: table('test')-> increment('count');的表。在AppServiceProvider启动功能中。