在表单中设置文本框的值

时间:2013-04-17 01:47:35

标签: php javascript

我的表单formDrawer位于

之下
<table id="drawer-table">
<form action="" method="post" name="formDrawer">
    <tr>
        <td>New Drawer Name</td>
        <td><input type="text" name="name" size="30" maxlength="20"/> </textarea>       
        </td>
    </tr>
    <tr>
        <td>Prefix</td>
        <td><input type="text" name="prefix" size="10" maxlength="6"/> </textarea>      
        </td>
    </tr>
 </form>
    <tr>
      <td colspan="2" align="center">
          <form id="form1" name="form1" method="post" action="">
            <label>
            <input type="submit" name="drawerAdd" value="Save"/>
            <input type="submit" name="pCancel" value="Cancel" />
            </label>
          </form>
      </td>
  </tr> 
</table>

下面我添加了一个PHP,用我的表单中输入的数据创建表。在我的表的结尾列中,我添加了edit,我想在其中单击时在表单中设置控件的值。我有我的代码,但它不起作用。在我a href我添加了javascript但没有运气。

while($row = mysql_fetch_array($result, MYSQL_BOTH))
      {
      echo "<tr onMouseover=this.bgColor='#EEEEEE' onMouseout=this.bgColor='#FFFFFF'>";
      echo "<td>" . $row['drawerName'] . "</td>";
      echo "<td>" . $row['drawerPrefix'] . "</td>";

      echo "<td class='add-edit'><button type='button' onclick='this.formDrawer.prefix.value = ".$row['drawerPrefix'].";'>Edit</button></td>";

      echo "</tr>";
      }

1 个答案:

答案 0 :(得分:0)

看来你遇到了麻烦:

<a id='myLink' href='#' onClick='$('a#myLink').click(function(){
  document.getElementsByName('prefix')[0].value=".$row['drawerName']."; return false;
  });'>Edit</a>

在内联侦听器中,您可以使用 this 引用当前元素。您似乎也在同一元素上的单击侦听器中添加了一个单击侦听器,这没有用。

此外,如果您需要一个按钮,请使用按钮,而不是链接。所以你可能想做类似的事情:

<button type="button" onclick="this.form.prefix.value = 'whatever';">Set the value</button>