好吧,我環顧了其他論壇,看不到我的原因還在...... GAH。 我調用preventDefault(),所以表單不提交。我已經嘗試將動作設置爲無,然後甚至不提供表單標記上的動作屬性。Jquery preventDefault表單無法正常工作
我也嘗試做提交按鈕作爲一個按鈕,而不是提交,但它似乎並不想工作。當我不想要它時,表單仍然在提交頁面時加載頁面。我試圖用AJAX更新usershop中某個商品的價格,以便在不重新加載span標籤中的頁面的情況下更新價格的價值。
HTML:
<form id="price_form" method="POST" action="http://alkharia.localhost/user/shop/priceitem/3" accept-charset="UTF-8"><input type="hidden" name="csrf_token" value="P0oW2VxJ6HTg79ksIYl6U3R5QKapeFGwkkUKiNlQ">
<div class="row clearfix">
<div class="full">
<label for="price">Price</label>
<input maxlength="6" type="text" name="price" value="0" id="price"> </div>
</div>
<div class="row">
<div class="full">
<input type="hidden" name="item_id" value="3">
<input type="submit" value="Submit"> </div>
</div>
</form>
JQuery的:
$('#price_form').submit(function(e) {
e.preventDefault();
var price = $('#price').val();
if((Math.floor(price) == price) && ($.isNumeric(price)) && (price.length <= 6)) {
var itemID = $('#item_id').val();
$.ajax({
type: 'POST',
url: 'http://'+urlBase+'/user/shop/priceit/'+itemID+'/'+price,
success: function(msg) {
$('#cur_price_'+itemID).html(msg);
}
});
} else {
alert('You can only enter an integer that is less than 999,999!');
return false;
}
});
檢查你的JS控制檯是否有錯誤。你的代碼應該工作。 – Blender
http://stackoverflow.com/questions/6462143/prevent-default-on-form-submit-jquery和代理:http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false –
我認爲它可以工作,但它只是導致由AJAX提供的url或form action屬性。所以它提交後,而不是所有其他的邏輯加載到該頁面..:/ – Peanut