php - 无法让按钮附加到文本区域

标签 php javascript html

我正在使用 PHP 和 JavaScript 构建餐厅菜单应用程序 而且我似乎无法在下订单时获得附加文本区域的按钮...(目前这只是测试代码)这是我的代码:

$test = mysql_query("SELECT * FROM main_stock");
while($row = mysql_fetch_array($test)){
echo "<div id='".$row["RCode"]."'><a href='javascript:addTo(".$row["Name"].",".$row["RCode"].")'>".$row["Name"]."</a></div>";}

而我的javascript函数如下:

function addTo(name, Rcode) {
document.getElementById('order').value += name;
}

而HTML Form如下:

    <form id="OrderForm" name="OrderForm" method="post" action="">
  <p>
    <label>
      <textarea name="order" id="order" cols="35" rows="20" readonly="readonly">test</textarea>
    </label>
  </p><table>
  <tr><td>Subtotal:</td><td><input type="text" id="subtotal" readonly="readonly" value="2.00" /></td></tr>
    <tr><td>Tax:</td><td><input type="text" id="tax" readonly="readonly" value="2.00"/></td></tr>
    <tr><td>Total:</td><td><input type="text" id="total" readonly="readonly" value="4.00"/></td></tr>
    <tr><td></td><td><input type="submit" id="submit" value="Send Order To Kitchen"/></td></tr>
    </table>

最佳答案

看起来 echo 可能会导致无效的 JavaScript 语法。例如:

addTo(Something, Inc.,STI)

而不是:

addTo("Something, Inc.","STI")

您需要输出额外的引号供 JavaScript 使用。而且,由于您已经对 PHP 字符串使用了 ",对 HTML 属性使用了 ',因此这将需要转义或编码:

echo "... href='javascript:addTo(&quot;".$row["Name"]."&quot;,&quot;".$row["RCode"]."&quot;)'>...";

另一种选择可能是使用 json_encode因为 JSON 基于 JavaScript 语法:

echo "... href='javascript:addTo(".json_encode($row["Name"]).",".json_encode($row["RCode"]).")'>...";

关于php - 无法让按钮附加到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631570/

相关文章:

php - 在php中,是否可以创建两个同名的输入框?

PHP分页无序列表项

javascript - Angular 1.2.15 运行并发循环

javascript - 验证首次有效,但随后无效

html - 由于图像大小,两个 flex 的子 div 不会均分空间

php - MySQL 一次并发连接数过多

php - 如何在 osx 上使用带有自签名证书的 docker 容器?

javascript - 不同的 html 来源

html - 如何在父 <div> 中平均分配相同大小的 <divs?

javascript - 无法绘制大于 250px 正方形的图像