JS/Ajax:抓取输入字段值,无需刷新或点击按钮
JS/Ajax: grab input field value without refresh or button click
我目前使用js函数提交数据,无需刷新页面或点击按钮。输入字段位于选项卡#2内,一旦用户停止键入,该选项卡就会执行js。问题是js正在刷新页面,从而将我带回标签#1。如何防止页面刷新?我以为我已经在JS函数中包含了必要的代码来阻止这种情况。示例
<script>
$(document).ready(function() {
var timer;
$('#video-input1').on('keyup', function() {
var value = this.value;
clearTimeout(timer);
timer = setTimeout(function() {
//do your submit here
$("#ytVideo").submit()
//alert('submitted:' + value);
}, 2000);
});
//submit definition 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('index.php#tab-2', form, function(data){
var x = $(data);
$("body").html(x);
});
return false;
});
return false;
});
</script>
尝试更改此行
//do your submit here
$("#ytVideo").submit()
至
$("#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;
进行了一些更改
应该使用.submit()
而不是.triggerHandler('submit')
。文档和相关问题。
相关文章:
- 刷新按钮以调用javascript函数
- 机身加载功能和刷新按钮相同
- 当用户单击关闭浏览器时(但不是当用户单击刷新按钮时),JavaScript会确认启动
- dojo-dgrid带有store from url(json数据)重载/刷新按钮
- 更新f5上的URL或刷新按钮
- 在Javascript中刷新按钮更新Accordion
- 是否可以阻止 Oracle Apex 提交页面,直到用户单击该页面上的刷新按钮
- 按 F5 或页面上的刷新按钮不应调用上一个事件
- 如何调用 MVC Telerik 网格刷新按钮的点击事件
- 如何在单击刷新按钮后再次从启动禁用计时器
- 在 jsp 中使用 ajax 刷新按钮时刷新行的列
- 我怎么知道在Firefox中是点击了刷新按钮还是浏览器返回按钮
- 推特订阅源手动刷新按钮
- 如何在点击刷新按钮后返回到主散列
- onblur事件不'如果用户在文本字段中输入值并直接按下浏览器刷新按钮,则无效
- 地图刷新按钮单击Javascript
- 按下浏览器刷新按钮后未调用嵌套异步调用
- 当用户点击刷新按钮时,删除mysql表中的数据
- 刷新按钮禁用
- Window.onbeforeunload .alert限制刷新按钮点击