【问题标题】:passing html information through javascript to php通过javascript将html信息传递给php
【发布时间】:2012-04-10 19:12:17
【问题描述】:

我有两个通常被禁用的文本框。当用户按下编辑按钮时,文本框将启用并且允许他们输入。但是,当我提交表单时,用户输入的值不会传递给我的 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++;    

在此禁用或启用每个备用点击时,可能不是最好的方法,但这不是这里的重要部分。

这是盒子的html代码

<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 提交并获取值时,我得到一个空白变量。

有什么想法吗?

谢谢,

【问题讨论】:

  • 如何使用 php 读取文本框的值?你能显示你的代码吗?

标签: php mysql html


【解决方案1】:
<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."' />

我发现了几个问题。一个是 .$columncount.$inc.$leaguesarray[$numofleagues]。不是 HTML。您需要它周围的 php 标签,还需要回显这些值,如下所示:

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

这一行也一样:

 value = '".$col_value."'

应该是

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

我对呈现的页面感到惊讶,除非您一直在 php echo 中准备它?无论哪种方式,澄清这一点可能有助于缩小问题的范围可能。

【讨论】:

    【解决方案2】:

    我还不够清楚,但是......任何禁用的输入都不会被发送,如果你想要不可编辑,请尝试使用 readonly='readonly',顺便说一句,你应该在你的php代码,不要只相信JS

    祝你好运

    【讨论】:

    • 在 js 中我会删除只读属性以使其可编辑吗?
    • 我将禁用更改为只读。因此,当我单击编辑按钮时,只读设置为 false。然后我输入数字,但是当我提交时,我仍然遇到同样的问题。没有传递任何值。
    • 删除只读,使用jquery函数$().removeAttr()。它会起作用,如果没有,请告诉我
    【解决方案3】:

    这是使用内联 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 元素中。它使生活变得如此轻松,并有助于保持您的设计干燥。

    【讨论】:

      【解决方案4】:

      假设这是在 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
      

      【讨论】:

        猜你喜欢
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-11
        • 2013-03-05
        相关资源
        最近更新 更多