使用MySQL / PHP生成单选按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用MySQL / PHP生成单选按钮相关的知识,希望对你有一定的参考价值。

我正在尝试使用php生成单选按钮,但有两个问题。我正在尝试使用以下代码生成它们,但提出了两个单独的问题:

echo "<input type='radio'  name='colour' value='" . $row['colName'] . "'
onclick='findSpec('" . $row['colName'] . "')'>" . $row['colRef'] . " " . $row['colName'];

首先,生成的单选按钮将显示在页面上,如下所示:

<input type="radio" name="colour" value="Straw" onclick="findSpec(" straw')'="">
  Shadow Content (User Agent) = $0
</input>

我曾尝试在标题后添加一个单独的标签以关闭输入,但仍会在代码中插入伪造的标签(使用Safari / Firefox,这两个问题均同时出现。这也意味着我无法设置样式单选按钮。

另一个问题是事件处理程序。如果我取出参数,它可以正常工作,但是如果按上述方式插入,则会出现错误:

SyntaxError: Unexpected token ''

我在页面上注意到,单选按钮上的引号似乎未正确显示,我不确定这是否是问题的一部分。

我确定我在做这件事很愚蠢,但是我不知道该怎么办!任何帮助,将不胜感激。

谢谢克里斯

答案

1),您需要使用/>关闭输入标签-这意味着它是单个标签元素。标题不是标题的一部分-如果您希望将标题与单选按钮在语义上相关联,则可以将其单独包装在<label>中(或者甚至在标题和收音机之间包裹一个标签,有时这样做)。

2)我个人不会使用内联事件处理程序-尽可能通过addEventListener使用不引人注目的JS事件处理程序。通常认为,这是编写此类代码的一种更整洁,更可维护的方法,因为它可以使代码和标记之间保持更好的分离。除了其他以外,它还使您无法纠缠onclick属性内的引号转义,这就是造成您的问题的原因。

onclick='findSpec(\"" . $row['colName'] . "\")' />"

应该解决问题,如果您真的想那样做的话。

这将导致有效的输出,例如

<input type='radio'  name='colour' value='x' onclick='findSpec("x")' />

实时演示:http://sandbox.onlinephpfunctions.com/code/8d6a10416528fa3b9fc76544a7e1fff5494f188d

另一答案

对于“ onlick”,连接问题,引号未正确完成,

这是建议,而不是回显html元素,您可以选择简单的html并在其中绑定php参数,例如

<input type='radio' name='colour' value="<?=$row['colName']; ?>" onclick='findSpec("<?=$row['colName'];?>")'> <?=$row['colRef'] ." " . $row['colName'] ?>

以上是关于使用MySQL / PHP生成单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery、PHP 和 MySQL 为单选按钮加载 JSON 数据

使用 jQuery、PHP 和 MySQL 为单选按钮加载 JSON 数据

Mysql 中的数据库不显示 html 和 php 中单选按钮的结果

基于 PHP 单选按钮的 MYSQL 查询语句

从 php 中检索单选按钮的 mysql 值

如何控制单选按钮?从数据库、PHP、MYSQL 回显的数据