我有一個簡單的形式是這樣的:jQuery的對話形式提交不張貼值
<form method="post" name="change_pass" id="change_pass" action="change_pass2.php">
<input type="hidden" id="uid" value="<?php echo $userid ?>">
<div id="dialog" style="display:none">
<input type="text" name="pass" id="pass">Password :
<input type="text" name="conf_pass" id="conf_pass">Confirm Password:
</div>
</form>
<div id="weak" style="display:none" title="Weak password">
<p >Please make sure your password is atleast 8 characters</p>
</div>
<div id="mismatch" style="display:none" title="Failure">
<p>Password mismatch</p>
</div>
</body>
</html>
我使用jQuery用戶界面的對話框函數來創建一個對話的形式就是這樣,
$(function(){
$('#dialog').dialog({
title : 'You must change your password',
modal : true,
closeOnEscape: false,
dialogClass: 'no-close',
resizable: false,
draggable: false,
buttons: {
'Change Password' : function() {
if ($('#pass').val().length < 8 || $('#pass').val() == 'dantours') {
$('#weak').dialog();
}
else if ($('#pass').val() != $('#conf_pass').val()){
$('#mismatch').dialog();
}
else
$('#change_pass').submit();
}
}
});
});
但在change_pass2.php頁面,$ _POST數組爲空。我一直在試圖弄清楚這個問題,一直盯着顯示器。
我注意到你的隱藏輸入沒有'name'屬性,因此不會在其中,儘管其他人也這麼做。 –
個人而言,我認爲隱藏用戶名但是要求輸入密碼是一個非常糟糕的主意。這是什麼原因呢? –
嘗試並使用Chrome開發人員工具(與Chrome集成)或Firebug查看實際從表單提交的內容。 –