【问题标题】:firefox displays text while form input value is emptyFirefox 在表单输入值为空时显示文本
【发布时间】:2012-07-18 16:14:48
【问题描述】:

您好,我正在制作一个网站并使用表单,但当输入字段的值为空时,Firefox 会在输入字段中不断显示不需要的文本。 在输入法中使用电子邮件或电话时会发生这种情况。

        <form action='locatie.php?root=<?php echo $root; ?>' target='_self' method='post' onSubmit='return checkForm()' >
<table style='width:725px;' id='text' border='1'>
  <tr>
    <td colspan='7'></td>
  </tr>
  <tr>
    <td colspan='7' ><hr /></td>
  </tr>
  <tr>
    <td style='width:100px;' ><label for='locatie' >Locatie naam: </label></td>
    <td style='width:140px;' ><input type='text' name='locatie' id='locatie' value='' placeholder='locatie naam' maxlength='20' size='20' /></td>
    <td style='width:8 0px;' ><label for='adres' >Adres: </label></td>
    <td colspan='4'><input type='text' name='adres' id='adres' value='' placeholder='Adres locatie' maxlength='30' size='30'/></td>
  </tr>
  <tr>
    <td><label for='beheer' >Beheerder: </label></td>
    <td ><input type='text' name='beheer' id='beheer' value='' placeholder='Beheerder naam' maxlength='21' size='20' /></td>
    <td><label for='tel' >Tel nr: </label></td>
    <td style='width:140;' ><input type='text' name='tel' id='tel' value='' maxlength='13' size='12' /></td>
    <td style='width:80px;' >Email:</td>
    <td colspan='2'><input type='text' name='email' id='email' value=' ' placeholder='Email beheer' maxlength='31' size='20' /></td>
  </tr>
  <tr>
    <td style='vertical-align:top;' ><label for='route' >Route beschrijving: </label></td>
    <td style='vertical-align:top;' colspan='6'><textarea name='route' id='route' value='' placeholder='Google maps link met route' cols='75' rows='10' ></textarea></td>
  </tr>
  <tr>
    <td colspan='7'>&nbsp;</td>
  </tr>
  <tr>
    <td ><label for='ondergrond' >Ondergrond: </label></td>
    <td ><select name='ondergrond' id='ondergrond' >
                <option value='Veld' >Veld</option>
          <option value='Zaal' >Zaal</option>
          <option value='Kunstgras' >Kunstgras</option>
         </select>
     </td>
    <td><label for='seizoen' >Seizoen: </label></td>
    <td><select name='seizoen' id='seizoen' >
                <option value='Veld' >Veld</option>
          <option value='Zaal' >Zaal</option>
         </select>
    </td>
    <td colspan='3'></td>
  </tr>
  <tr>
    <td colspan='7'><input type='submit' name='action' id='action' value='Opslaan' /></td>
  </tr>
  <tr>
    <td colspan='7'><hr /></td>
  </tr>
</table>
</form>

在 Firefox 中,输入字段将包含我不想要的文本“在此处输入您的电话号码”或“在此处输入您的电子邮件”。 除了向输入中添加内容之外,还有什么方法可以阻止 firefox 这样做?

如果添加整个表单,页面的其余部分会包含很多只是将表单保​​存到数据库的 php。

【问题讨论】:

  • 请发布您的更多html代码

标签: forms html firefox


【解决方案1】:

您在&lt;input&gt; 字段上设置placeholder 属性,其目的是在没有输入数据时显示某些内容。

只要去掉那个属性就可以了。

引用MDN:

占位符

提示用户可以在控件中输入的内容。占位符文本不得包含回车或换行符。当 type 属性的值为 text、search、tel、url 或 email 时,该属性适用;否则将被忽略。

【讨论】:

  • 这听起来合乎逻辑,但他的placeholder 不包含文本“在此处输入您的电话号码”;相反,它包含“nr beheer”。
  • @feeela 从给出的代码来看,它是输入字段中唯一的文本来源。 placeholder 中的字符串实际上看起来有点乱,所以我认为它不是原始文本。
  • @Maurits 根据这些信息,我认为必须存在某种价值。也许这个值是由一些 JavaScript 设置的——但肯定不是通过 Firefox 本身。
  • 如果在 Chrome 和 IE 中也打开了一侧,但它不会发生。我还检查了我正在使用的 Javascript,但那里也没有。
  • @Maurits 你能提供一个包含更多代码(整个网站)的小提琴,以便我们查看更多代码吗?
【解决方案2】:

占位符是问题所在,但解决方案不是删除它。在输入标签内使用 autocomplete="off"。

【讨论】:

  • 自动完成功能允许浏览器根据过去的条目提供一个值,如果浏览器配置为这样做的话。它不会影响被问及这个问题的行为。
【解决方案3】:

清除您的 cookie、保存的表单数据和浏览器缓存。还要禁用JS,看看这是否是罪魁祸首。

如果您不使用 placeholder="" 属性,您可能还想删除它。

我强烈建议您下载 Chris Pederick 的“Web 开发人员工具栏”,因为从浏览器中清除所有这些内容并禁用 JS/CSS 等就像单击按钮一样简单。适用于 Firefox 和 Chrome。

http://chrispederick.com/work/web-developer/

祝你好运,迈克尔。

【讨论】:

  • 感谢您的建议,我已经拥有该插件并尝试过。没有解决问题我想我只会制作一个 javascript 来检查这 2 行的表单并删除它们。留下一个干净的输入字段。
猜你喜欢
  • 1970-01-01
  • 2013-05-16
  • 2020-12-13
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多