我在这上面敲了半天。当表单动态加载ajax时,jquery窗体选择器无法正常工作
我想阻止提交表单,所以我可以使用ajax提交它,但不能让选择器工作。
我的标记是这样的:
<div class="my_cart">
<ul>
<li>
<form action="/cart/remove_item" method="post" accept-charset="utf-8">
<input type="hidden" name="rowid" value="eb0d73613fd555ed3dc24d3877447fc7">
<input type="submit" name="foofoo" value="*">
</form>
</li>
<li>London</li>
<li class="crossed_price">46.00</li>
<li class="discount_price">free</li>
</ul>
<ul>
<li>
<form action="/cart/remove_item" method="post" accept-charset="utf-8">
<input type="hidden" name="rowid" value="71d2b4c973728137ec1905264be464b8">
<input type="submit" name="foofoo" value="*">
</form>
</li>
<li>Paris</li>
<li class="price">59.00</li>
</ul>
</div>
而且JS是这样的:
$(document).ready(function() {
alert("Hello"); // this is to see if the function is triggered on page load. it is.
$("div.my_cart form").submit(function() {
alert ("no go");
return false;
})
});
据我了解,$("div.my_cart form")
应该赶上所有形式下的任何格,它的类“my_cart”,但它似乎没有工作,并且表单像往常一样提交。
这不是浏览器问题,因为我在多种浏览器(Chrome,FF,Safari)上测试过它。
我在这里错过了什么?
你的HTML是无效的'input'关闭标签缺失......顺便说一句你的代码似乎做工精细:http://jsfiddle.net/8RtML/ – nemesv 2013-02-17 15:40:23
我不认为这是问题所在。它在别的地方为我工作,输入标签没有关闭。 此外,窗体是使用Codeigniter窗体帮助器创建的。我猜他们是对的。 – einav 2013-02-17 15:44:52
所以我的确做对了。但由于某种原因,它不起作用。任何想法如何调试它? 'alert(“Hello”)'正在工作。 – einav 2013-02-17 15:46:34