Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS/AJAX:使用计时器提交表单,而不是单击按钮或刷新页面_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript JS/AJAX:使用计时器提交表单,而不是单击按钮或刷新页面

Javascript JS/AJAX:使用计时器提交表单,而不是单击按钮或刷新页面,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试在没有页面刷新或提交按钮的情况下提交表单。但我只实现了让JS函数提交输入框值。是否可以在不点击按钮和刷新页面的情况下提交整个表单 JS <script type="text/javascript"> $(document).ready(function() { var timer; $('#yurl).on('keyup', fu

我正在尝试在没有页面刷新或提交按钮的情况下提交表单。但我只实现了让JS函数提交输入框值。是否可以在不点击按钮和刷新页面的情况下提交整个表单

JS

            <script type="text/javascript">
                $(document).ready(function() {
                    var timer;
                        $('#yurl).on('keyup', function() {
                            var value = this.value;

                            clearTimeout(timer);

                            timer = setTimeout(function() {

                                //do your submit here

                                alert('submitted:' + value);
                            }, 2000);
                        });
                });
            </script>

$(文档).ready(函数(){
无功定时器;
$('#yurl).on('keyup',function(){
var值=此值;
清除超时(计时器);
计时器=设置超时(函数(){
//你在这里提交吗
警报(“已提交:”+值);
}, 2000);
});
});
html

                <form method="post" id="ytVideo" action="">
                <input id="yurl" type="text" value="<?php $url ?>" name="yurl">     
                </form>


如果我很理解你的要求,它在哪里写着
//请在这里提交
,你应该放:

 $("#ytVideo").submit()
其中
ytVideo
是您试图提交的表单的id


祝你好运

我认为这可以很好地解决你的问题。

你的小提琴似乎很管用,但问题是你并没有在任何地方提交它

<script type="text/javascript">
 $(document).ready(function() {
                        var timer;
                            $('#yurl).on('keyup', function() {
                                var value = this.value;

                                clearTimeout(timer);

                                timer = setTimeout(function() {

                                    //do your submit here
                                    $("#ytVideo").submit()
                                    alert('submitted:' + value);
                                }, 2000);
                            });


     //then include your submit definition. What you want to do once submit is executed
      $('#ytVideo').submit(function(e){
           e.preventDefault(); //prevent page refresh
           var form = $('#ytVideo').serialize();
           //submit.php is the page where you submit your form
           $.post('submit.php', form, function(data){ 
              //do something with the data

           });
      });

});
</script>

$(文档).ready(函数(){
无功定时器;
$('#yurl).on('keyup',function(){
var值=此值;
清除超时(计时器);
计时器=设置超时(函数(){
//你在这里提交吗
$(“#ytVideo”).submit()
警报(“已提交:”+值);
}, 2000);
});
//然后包括你的提交定义。一旦执行了提交,你想做什么
$('#ytVideo')。提交(函数(e){
e、 preventDefault();//防止页面刷新
var form=$('#ytVideo').serialize();
//submit.php是您提交表单的页面
$.post('submit.php',表单,函数(数据){
//对数据做点什么
});
});
});

我不确定我是否正确理解了您的问题,但根据我的理解,您试图在达到时间限制后自动提交表格。是吗?是的,当我更改表单id时。我收到警报:
submitted:undefined
我在您提供的JSFIDLE中尝试了它,结果对我来说很好。抱歉,我弄错了,它应该是$(“#ytVideo”).submit(),而不是$(“ytVideo”).submit()