php
  • javascript
  • html
  • 2013-01-31 65 views 2 likes 
    2

    我正在PHP中建立一个餐馆菜单应用程序 JavaScript 而我似乎无法得到按钮来追加文本区域时,正在放置排序...(这是目前只是测试代码)这里是我的代码:无法将按钮添加到textarea

    $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> 
    

    +1

    浏览器接收到的标记是什么?你是否在控制台中发现任何错误? –

    +0

    你有没有使用jfiddle?如果没有,它可能会帮助你测试你的代码,例如:http://jsfiddle.net/XtZMT/ – Upgradingdave

    回答

    1

    看起来像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"]).")'>..."; 
    
    +0

    这工作,非常感谢! – user2029952

    0

    TEXTAREAs没有.value,他们有.innerHTML

    +0

    “[*没有'.value' *](https://developer.mozilla.org/EN-US /文档/ DOM/HTMLTextAreaElement#属性)?” –

    0

    尝试

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

    没有什么ID为'order'在你的榜样。

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

    +0

    查看更新后添加HTML – user2029952

    相关问题