2012-04-10 129 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