2013-11-04 46 views
0

在我的HTML表單提交之前,我將一些值放在隱藏的輸入元素中,而這些值並未隨表單提交,出現任何錯誤或其他內容?jQuery輸入值沒有與表單提交更新

對於前:

下面是我的表單功能:

<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php" onClick="beforeSubmit(); return false;"> 
    <input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value=""> 
</form> 

下面是我的JS功能:

<script language="javascript" type="text/javascript"> 

    function beforeSubmit(){ 

     $('#OLD_BRANCH_FILTERS_ALL').attr('value', 'xyz'); 

     alert(document.getElementById('OLD_BRANCH_FILTERS_ALL').value); 

     document.clientForm.action = 'clients.php?saveBtn=Save'; 
     document.clientForm.submit(); 
    } 

</script> 

現在,當我在PHP檢查形式要求$_REQUEST,它元素中沒有顯示任何值。

任何線索爲什麼它不工作。

在此先感謝!

+1

嘗試使用'onSubmit'而不是'onClick'? – Cthulhu

+0

我在本地XAMP上試過你的代碼,它正在工作。提交頁面確實顯示值xyz。檢查你在其他地方沒有任何錯誤 –

回答

1

你的點擊數未及時設置值調用,嘗試這樣

<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php"> 
    <input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value=""> 
</form> 

和jQuery的

$('#clientform').submit(function() { 
    beforeSubmit(); 
}); 

另外,如果你也想提供驗證到現場你可以使用,

$('#clientform').submit(function(e) { 
    beforeSubmit(); 
    if (!{VALID}) { 
     e.preventDefault(); 
    } 
});