我正在用PHP和&amp ;;建立一个餐厅菜单应用程序。 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 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>
答案 0 :(得分:1)
看起来echo
可能导致JavaScript语法无效。 E.g:
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"]).")'>...";
答案 1 :(得分:0)
TEXTAREAs
没有.value
,他们有.innerHTML
答案 2 :(得分:0)
尝试
document.getElementById('order').innerText += name;
答案 3 :(得分:0)
您的示例中没有ID 'order'
。
而不是document.getElementById('order')
,请尝试document.getElementById(Rcode)
。