无法获取要附加到textarea的按钮

时间:2013-01-31 17:24:13

标签: php javascript html

我正在用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>

4 个答案:

答案 0 :(得分:1)

看起来echo可能导致JavaScript语法无效。 E.g:

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"]).")'>...";

答案 1 :(得分:0)

TEXTAREAs没有.value,他们有.innerHTML

答案 2 :(得分:0)

尝试

document.getElementById('order').innerText += name;

答案 3 :(得分:0)

您的示例中没有ID 'order'

而不是document.getElementById('order'),请尝试document.getElementById(Rcode)