0

我在创建几个函数以清除输入字段 onfocus 并将其重置为默认文本 onblur(如果它为空)时遇到问题。它可以正常工作,直到您更改一些文本然后退格出来。

我的职能是:

function enterField (id, defaultText) {
   if (document.getElementById(id).value == defaultText) {
      document.getElementById(id).setAttribute("value", "");
      document.getElementById(id).style.color = "#000000";
   }
}

function leaveField (id, defaultText) {
   if (document.getElementById(id).value == "" || document.getElementById(id).value == defaultText) {
      document.getElementById(id).setAttribute("value", defaultText);
      document.getElementById(id).style.color = "#dddddd";
  }
}

我的html是:

<table style="width: 464px; margin-right: -7px; margin-left: -7px; table-layout: fixed;" cellpadding="0" cellspacing="8">
    <tr>
        <td class="input"><input id="name" type="text" class="name" size="32" value="Name" onfocus="enterField('name', 'Name');" onblur="leaveField('name', 'Name');"></td>
        <td class="input"><input id="email" type="text" class="name" size="32" value="Email" onfocus="enterField('email', 'Email');" onblur="leaveField('email', 'Email');"></td>
    </tr>
    <tr>
        <td class="input" colspan="2"><textarea id="message" class="message" rows="8" onfocus="enterField('message', 'Message');" onblur="leaveField('message', 'Message');">Message</textarea></td>
    </tr>
    <tr>
        <td style="text-align: right;" colspan="2"><input id="submit" type="submit" class="button" value="Send"></td>
    </tr>
</table>

您可以在www.ag-designs.ca/index_new.php了解它的运作方式。点击底部的“让我们谈谈”。

4

1 回答 1

0

改变

document.getElementById(id).setAttribute("value", defaultText);

document.getElementById(id).value = defaultText;

在您的函数中出现两次。

于 2013-01-18T23:31:41.977 回答