我正在使用 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("".$row["Name"]."","".$row["RCode"]."")'>...";
另一种选择可能是使用 json_encode
因为 JSON 基于 JavaScript 语法:
echo "... href='javascript:addTo(".json_encode($row["Name"]).",".json_encode($row["RCode"]).")'>...";
关于php - 无法让按钮附加到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631570/