2012-04-10 162 views
0

我有兩個通常禁用的文本框。當用戶按下編輯按鈕時,文本框變爲啓用狀態,並允許他們鍵入。但是,當我提交表單時,用戶輸入的值不會傳遞給我的php代碼。通過javascript傳遞html信息到php

這裏是我的javascript代碼:

if (timesin%2 == 0){ 
    document.getElementById(score1).disabled = true; 
    document.getElementById(score2).disabled = true; 
} else { 
    document.getElementById(score1).disabled = false; 
    document.getElementById(score2).disabled = false; 
    document.getElementById(score1).value = ""; 
    document.getElementById(score2).value = ""; 
} 
timesin++;  

這裏每個交替單擊它禁用或啓用,可能沒有做到這一點的最好辦法,但在這裏那不是重要的組成部分。

這是盒子

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' /> 

的HTML代碼所以它被禁用。當點擊一個按鈕時,該功能被調用並且文本框被啓用。用戶然後鍵入一個值並再次單擊編輯按鈕,禁用該文本框。所以現在我已禁用了新的輸入值的文本框。但是,當我通過php提交併獲取值時,我得到一個空白變量。

任何想法?

感謝,

+0

如何讀取使用PHP文本框的值?你能顯示你的代碼嗎? – 2012-04-10 19:17:18

回答

2
<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' /> 

我看到一對夫婦的問題。一個是$ .countcount。$ inc。$ leaguesarray [$ numofleagues]。不是HTML。你需要它周圍的PHP代碼,也需要呼應價值觀,這應該是這樣的:

'columntext<?php echo $columncount.$inc.$leaguesarray[$numofleagues] ?>' 

這一行同樣的事情:

value = '".$col_value."' 

應該

value = '<?php echo $col_value ?>' 

除非你一直在用PHP的回聲來準備它,否則我對這個頁面渲染感到驚訝?無論哪種方式,澄清這一點可能有助於縮小問題可能是

+0

正確的所有這一切都在一個回聲。 – user541597 2012-04-10 20:23:57

0

我還不夠清楚,但是......任何禁用的輸入都不會被髮送,如果您想要不可編輯,請嘗試使用readonly ='readonly',然後順便說一句,您應該進行某種驗證你的PHP代碼,不要在JS只信任

好運

+0

在JS中我會刪除只讀屬性,使其可編輯的權利? – user541597 2012-04-10 20:49:58

+0

我將傷殘人員更改爲只讀。所以當我點擊一個編輯按鈕時,readonly被設置爲false。然後我輸入數字,但是當我提交時,我仍然遇到同樣的問題。沒有值被傳遞。 – user541597 2012-04-10 20:59:02

+0

刪除只讀,使用jquery函數$()。removeAttr()。它會起作用,如果沒有,讓我知道 – jcho360 2012-04-16 17:51:00

0

這是使用內聯PHP的不正確的方法:

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' /> 

而是嘗試這樣的事:

<?php 

    $id = "columntext".$columncount.$inc.$leaguesarray[$numofleagues]; 

?> 

<input type="textbox" id="<?php echo($id); ?>" name="<?php echo($id); ?>" maxlength="2" value="<?php echo($col_value); ?>"> 

另外,您應該考慮使用單獨的CSS文件來保存樣式,而不是將其放置在HTML元素中。它使生活變得如此簡單,並有助於保持設計乾爽。

0

假設這是一個PHP的echo語句中,改變

<input type = 'textbox' id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' maxlength = '2' disabled style = 'width:15px; text-align:center' value = '".$col_value."' /> 

<textarea id = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' name = 'columntext".$columncount.$inc.$leaguesarray[$numofleagues]."' maxlength = '2' disabled style = 'width:15px; text-align:center' />".$col_value."</textarea> 

ive never seen <input type = 'textbox'> before