Jquery下代码为何不能执行

在jquery1.9.1下,$(".edit-forminput[type=submit]")返回值是个[],貌似是造成下面代码不能执行的原因。$(".edit-form... 在jquery 1.9.1 下,$(".edit-form input[type=submit]")返回值是个[],貌似是造成下面代码不能执行的原因。

$(".edit-form input[type=submit]").on("click", function(event){
event.preventDefault();
//输出一条日志证明脚本确实运行了
console.log("FORM SUBGD D ");
});

而类似于$(".edit-form a:contains(cancel)") 也不能执行。甚至于$("edit-form")都找不到

edit-form是个FORM的CSS。form格式如下:

<div class="modal-window" style="display: block;">
<form action="assets/inc/process.inc.php" method="post" class="edit-form" style="">
<fieldset>
<legend>Create a New Event</legend>
<label for="event_title">Event Title</label>
<input type="text" name="event_title" id="event_title"/>
<label for="event_start">Start Time</label>
<input type="text" name="event_start" id="event_start"/>
<label for="event_end">End Time</label>
<input type="text" name="event_end" id="event_end"/>
<label for="event_description">Event Description</label>
<textarea name="event_description" id="event_description"/>
<input type="hidden" name="event_id"/>
<input type="hidden" name="token" value="07183ecbf30a4916ca2009a9ea2c867b2c78ebcf"/>
<input type="hidden" name="action" value="event_edit"/>
<input type="submit" name="event_submit" value="Create a New Event"/>
or
<a href="./">cancel</a>
</fieldset>
</form>
</div>
展开
 我来答
shy2850
2013-06-02 · TA获得超过6775个赞
知道大有可为答主
回答量:2505
采纳率:55%
帮助的人:1592万
展开全部
应该是你的js代码写在body前面了。
网页加载内容是从上到下的,在这个标签还没有创建的时候你就调用了那段代码,所以没有找到指定的dom元素。
只要把代码放在body尾部就可以了
或者: $(function(){
//代码放在这里面

});
这种格式会确保内部的代码在所有dom加载完成的时候才开始执行。
追问
分数我给了二楼回答比较充分的,但是答案不对,我自己解决了,供参考。submit 这个元素是动态生成的,在1.4版本,live可获取动态元素,但1.9取消了live,on只能获取静态元素,所以从body上从头获取解决问题。
$("body").on("click",".edit-form a:contains(cancel)", function(event){
fx.boxout(event);
})
wode5130
2013-06-02 · TA获得超过638个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:335万
展开全部
<textarea name="event_description" id="event_description"/>

jquery代码没有问题,有问题的是上面的 html 代码,这个不能这么写,必须写成

<textarea name="event_description" id="event_description"></textarea>
更多追问追答
追问
和这个有关系吗?前面我很多代码都是写成这样的,也没出现什么问题。
---
测试了,和这个毫无关系。
追答
我测试了,完全是这个标签引起的问题,你用谷歌浏览器看一下,写成这种形式的,后面的 html 代码完全不可见
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式