2012-09-18 101 views
1

我有下面的表單,我想從中刪除提交按鈕(或隱藏它)。jQuery Field Change Submit not working

<form action="cart.php" method="post"> 
<input name="quantity" type="text" value="3" size="1" maxlength="2" /> 
<input name="adjustBtn" type="submit" value="change" /> 
<input name="item_to_adjust" type="hidden" value="1" /> 
</form> 

,在我所包含的頁面我有當輸入字段「量」的改變應該提交表單波紋管一個叫做test.js jQuery的文件,但它並沒有,我不能讓它工作,我已經嘗試過各種形式從SO上的其他職位提交功能。有人甚至說,如果提交按鈕有一個提交名稱它不會工作,但我沒有。

$(document).ready(function() { 

    $('#quantity').change(function(){ 
     //$(this).closest("form").submit(); <-- commented out as not working either. 
     //$(this).closest('form')[0].submit(); <-- commented out as not working either. 
     $('#adjustBtn').submit(); 
    }); 

}); 

任何人都知道爲什麼它不會提交表單?我已經在Chrome和IE中測試過。

回答

5

您需要提交form而不是button的:

$("#adjustBtn").closest("form").submit(); 

而且,你沒id給您的adjustBtn,因此$("#adjustBtn")將不起作用;

<input id="adjustBtn" name="adjustBtn" type="submit" value="change" /> 

同樣的事情發生與#quantity,這就是爲什麼change處理程序不被解僱,你還需要添加id

<input id="quantity" name="quantity" type="text" value="3" size="1" maxlength="2" /> 
+0

我只是改變了這一點,仍然一無所獲,使它更有趣的是我添加了'console.log(「Data Changed!Submit !!!!」);'在.change行之後,當我改變輸入字段時,我在控制檯中什麼都沒有。讓我覺得它甚至沒有註冊。 – medoix

+0

@medoix:哦,我明白了,你錯過了輸入中的'id'屬性。 '$(「#id」)'由'id'選擇,而不是'name'。請看我更新的anser。 –

+0

感嘆..謝謝哈哈不敢相信這是像使用ID而不是名稱字段一樣簡單。 – medoix

1

它應該是:

<form action="cart.php" method="post" id="autoSubmit"> 
<input name="quantity" type="text" value="3" size="1" maxlength="2" /> 
<input name="item_to_adjust" type="hidden" value="1" /> 
</form> 

而jQuery的:

$(document).ready(function() { 

    $('#quantity').change(function(){ 
     $('#autoSubmit').submit(); 
    }); 

});