我有以下腳本,它只是我的實際代碼例子來提交,但它的行爲相同,實際的一個:表不能使用jQuery
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="http://google.com/">
<input type="text" name="item_name" />
<input type="hidden" name="submit" value="save" />
<a href="" id="save">Submit</a>
</form>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
jQuery(function($){
$('#save').on('click', function(e){
e.preventDefault();
$('form').submit();
});
});
</script>
</body>
</html>
你可以看到,有a
標籤與id保存,這是當這個鏈接被點擊時,表單應提交,但它沒有。這是由於名稱爲submit
的隱藏輸入引起的,如果我更改了名稱,它的效果很好。
在linux上的chrome和firefox上都試過這個。任何人都可以解釋這個
這裏是fiddle
- 編輯 -
我使用本機的單擊事件的嘗試:
document.getElementById('save').onclick = function(e){
e.preventDefault();
document.getElementsByTagName('form')[0].submit();
}
形式不能太submited。
@Pekka如果我刪除該行,該鏈接將作爲通常的鏈接。表單不是submited –
@。@ nah,這實際上是一個複雜的情況...我使用內聯編輯,這就是爲什麼我使用錨標記 –
有人已經問過這個:http://stackoverflow.com/questions/8729319/how-send -a-form-with-javascript-when-input-name-is-submit - 基本上document.getElementById('redirectForm')。submit指向一個DOM元素,而不是一個函數,如果有一個元素的name = submit – Carlo