【问题标题】:Javascript/PHP/HTML: Disabling respective textbox on unchecked checkboxJavascript/PHP/HTML:在未选中的复选框上禁用相应的文本框
【发布时间】:2015-12-08 12:16:37
【问题描述】:

这是我正在使用的当前代码。我想禁用其未选中复选框上的文本框,但我似乎无法让它工作。请指教。 Javascript/Jquery 也很好,我可以解决它们。

while ($row=mysql_fetch_array($result)) { 
echo '<td width="200px"><input name="prodID[i]" id="'.$row['prodID'].'" type="checkbox" value="'.$row['prodID'].'" onclick="document.getElementsByName(prodQty[i]).disabled=this.checked;"> '; 
echo $row['prodID'].'&nbsp';        
echo '<input name="prodQty[i]" id="'.$row['prodID'].'" type="text" size="1">';

【问题讨论】:

  • 你写错了像document.getElementByName(prodQty[i]).disabled你应该写像document.getElemenstByName(prodQty[i]).disabled,因为它选择返回文档中具有指定名称的所有元素的集合
  • 考虑到您的 Elements 意外拼写错误,我尝试了您的解决方案,但仍然没有出现任何问题。 @阿巴斯
  • 您对复选框和文本字段使用相同的 id....请首先解决此问题,因为不允许不同实体使用相同的 id....您可以使用 check_$row['prodID'] 表示附加您的 ID有一些文字..

标签: javascript php html checkbox textbox


【解决方案1】:

你可以调用类似的函数

    while ($row=mysql_fetch_array($result)) { 
echo '<td width="200px"><input name="check_<?php echo $row['prodID']; ?>" id="check_<?php echo $row['prodID']; ?>" type="checkbox" value="check_<?php echo $row['prodID']; ?>" onclick='document.getElementById("text_<?php echo $row['prodQty']; ?>").disabled=this.checked'> 
echo $row['prodID'].'&nbsp';        
echo '<input name="text_<?php echo $row['prodQty']; ?>" id="text_<?php echo $row['prodQty']; ?>" type="text" size="1">';

如您所见,我在 ID 后面附加了 checktext 之类的词,以便区分名称和 ID。

希望这可能有效。

如果有任何问题,请告诉我。

谢谢

【讨论】:

  • 感谢您的帮助,直到现在我还没有完全理解您在 ID 中附加一些文本的意思。现在的错误是:解析错误:语法错误,意外'check_'(T_STRING),期望','或';' @Abbas 我检查了语法 alr
  • 我还去谷歌搜索了 PHP 中的字符串连接,似乎 .被用来代替 +?我尝试使用 .但是还是不行,求指教。 @阿巴斯
  • 查看我的更新答案,让我知道您面临的问题......现在它不会给出任何错误......
猜你喜欢
  • 2018-07-15
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
相关资源
最近更新 更多