2011-10-28 78 views
-1

我很難找出爲什麼代碼不工作... 所以有一個表單提交按鈕,應該在請求後被禁用已發送。

PHP:

<form action="buy.php" method="post" onsubmit="zapret()"> 
.... 
<input id="submitOtbor" type="submit" name="submit" value="Отправить" /> 
</form> 

的javascript:

function zapret() 
{ 
    var btn = document.getElementById(\'submitOtbor\').disabled = true; 
    $(\'#result_5\').show(); 
    return false; 

} 

做好後,提交按鈕在buy.php不能趕上變量從按下isset($ _ POST [ '提交'])形式...

有人可以幫我嗎?

+0

你爲什麼要逃避JavaScript中的單引號? – Birey

+0

,因爲最初的代碼包含在php中:echo'some code here。'; –

回答

3

您禁用了提交按鈕。根據定義,禁用的控件不是「成功的」,並且不會將數據發送到服務器。

如果您希望數據顯示,請不要禁用該按鈕。 (你也可以用相同的名字生成一個隱藏的輸入,但是確實不要禁用提交按鈕,當請求失敗時很難重新提交表單)。

+0

感謝您的幫助!現在代碼工作正常。我真的很高興))) –

1

那麼爲什麼要依賴於禁用的控件(這反過來不會被繼續 - 所有瀏覽器忽略禁用控件的默認行爲)?

您隨時可以查詢!empty($_POST)。或者,您可以添加一個隱藏字段來表示表單的意圖。例如

<input type="hidden" name="action" value="create|read|delete" /> 

在提交被冒充。

+1

感謝您的幫助!現在代碼工作正常。我真的很開心 ))) –

相關問題