jquery form表单submit()中的过程不执行
很奇葩的问题,代码如下:
$(document).ready(function(){
//提交
function sub(btn){
var goUrl = 'test.php';
$('#example').submit(function(){
alert(goUrl);
});
}
//修改文章提交
$('#doEdit').click(function(){
sub(this);
});
)};
再上个图:
本来在submit()之间写了$.ajax()方法,但是没有执行,于是写成最简单的方法,在中间写了个alert(goUrl),再尝试用console.log(goUrl)也没有执行,结果如图上,调试的时候直接从200行跳到202行去了,中间的alert()被忽略了。
jquery是v1.8.0,实在搞不懂,求指导。
初充回答1:
console.log($('#example'));
$('#example').submit(function(){
alert(goUrl);
});
如上,console.log($('#example'));可以获得到对象,面板中有输出,但是到了submit()这一行,还是直接跳出了。
补充回答2:
function sub(text){
$(document).ready(function(){
alert(text);
//提交新文章/提交編輯 通過action區別
$('#example').submit(function(e){
//e.preventDefault();
return false;
});
//同步edtor内容到textarea
editor1.sync();
var goUrl = 'test.php';
$.ajax({
...
});
});
}
如上,3点:
1.我以前是在subit()中使用了return false,经测试与使用event.preventDefault()效果一样,不知道有没有别的什么区别?
2.我一直是在submit()中使用$.ajax(),如下:
$('#example').submit( function(event) {
event.preventDefault()
$.ajax({
// 你的代碼
})
})
测试很多遍,代码只走到submit()在外层就直接跳出了,里面没有执行,不知道为什么。
我现在把$.ajax()写到submit()外面来,反倒是可以的,想必还是什么地方有问题。
3.由于我用的是intpu type="button" + 事件提交,是不是本身并没有调用到$('#example').submit()事件? 那么上面的submit()部分本来就是多此一举?
.
相关阅读:
C++中内存的问题
linq简化
ecshop怎样单独的取出各项评论的数据
nltk 中的ConditionalFreqDist()...
移动设备Web开发中自行封装touch事件!
有没有兼容ie的html5历史管理和全屏仿f11的插件
xcode7 git 使用问题
redis单个节点被终止的原因有哪些?
mac命令行可执行文件为什么要加“./”才运行?
laravel路由问题
iOS隐藏TabBar时在页面上使用presentViewController跳转到另一个页面?
C函数内对指针的修改如何更新到函数外
express 路由路径的匹配规则和中间件路径的匹配规则是否相同?
iOS:百度地图API中有没有提供缩放按钮?找了半天头文件没找到
请教一下,如何实现一个二元查找树,给定一个中数、节点最大值、最小值,随机生成一个二元查找树
js的构造函数
数据库怎么设计字典表
linux中重新configuremake&&make install.像nginx的配置文件会重置吗?还是不变?
yii无法安装,提示缺少mbstring(已安装)模块
react npm test 的失败