Javascript JS/Ajax:无需刷新或单击按钮即可获取输入字段值

Javascript JS/Ajax:无需刷新或单击按钮即可获取输入字段值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我目前正在使用js函数提交数据,无需刷新页面或单击按钮。输入字段位于tab#2内,一旦用户停止键入,该选项卡将执行js。问题是js正在刷新页面,因此将我带回选项卡1。如何防止页面刷新?我想我已经在JS函数中包含了必要的代码来阻止这种情况 $(文档).ready(函数(){ 无功定时器; $('#video-input1')。on('keyup',function(){ var值=此值; 清除超时(计时器); 计时器=设置超时(函数(){ //你在这里提交吗 $(“#ytVideo”).subm

我目前正在使用js函数提交数据,无需刷新页面或单击按钮。输入字段位于tab#2内,一旦用户停止键入,该选项卡将执行js。问题是js正在刷新页面,因此将我带回选项卡1。如何防止页面刷新?我想我已经在JS函数中包含了必要的代码来阻止这种情况


$(文档).ready(函数(){
无功定时器;
$('#video-input1')。on('keyup',function(){
var值=此值;
清除超时(计时器);
计时器=设置超时(函数(){
//你在这里提交吗
$(“#ytVideo”).submit()
//警报(“已提交:”+值);
}, 2000);
});
//执行提交后提交定义
$('#ytVideo')。提交(函数(e){
e、 preventDefault();//防止页面刷新
var form=$('#ytVideo').serialize();
//submit.php是您提交表单的页面
$.post('index.php#tab-2',表单,函数(数据){
变量x=$(数据);
$(“body”).html(x);
});
返回false;
});
返回false;
});
尝试更改此行

//do your submit here
$("#ytVideo").submit()

我认为问题在于您定义了表单提交后提交应该做什么,这会导致页面重新加载。
已编辑
试试这个变化

$('#ytVideo').submit(function(event){
        event.preventDefault(); //prevent page refresh
        event.stopPropagation(); //+
        var form = $('#ytVideo').serialize();

        //submit.php is the page where you submit your form
        $.post('index.php#tab-2', form, function(data){ 
            var x = $(data);
            $("body").html(x);
        });
        //- return false;
    });
    //- return false;  

进行了一些更改

而不是
.submit()
您应该使用
.triggerHandler('submit')
。和。

问题出在
$(“#ytVideo”).submit()
行。您提交表单,在它到达
$('#ytVideo')之前。提交(函数(e){
事件,您禁用默认行为并返回false。感谢您的响应,我如何解决此问题?+1是的,我按您所说的做了,但它似乎刷新了页面,将我带回选项卡1进行一些更改,您还进行了$(“body”).html(x)
$("#ytVideo").trigger("submit");
$('#ytVideo').submit(function(event){
        event.preventDefault(); //prevent page refresh
        event.stopPropagation(); //+
        var form = $('#ytVideo').serialize();

        //submit.php is the page where you submit your form
        $.post('index.php#tab-2', form, function(data){ 
            var x = $(data);
            $("body").html(x);
        });
        //- return false;
    });
    //- return false;