“明文形式”脚本的错误

时间:2011-12-02 16:13:12

标签: javascript forms

我使用小脚本来清除文本表单内容。它看起来整洁,但有一个错误。

如果我开始写作,只需点击表单中的某个地方即可删除所有内容。

任何想法如何解决这个问题?

要查看实际操作,请访问:

http://www.sandrophoto.com/2011/11/28/five-photography-tips-from-celebrated-pros/#comment

开始写一些东西,而不仅仅是点击内部表格。看到?文本被删除,这不是我需要的行为。

代码:

<textarea tabindex="4" rows="10" cols="100%" id="comment" name="comment"
    onclick="this.value='';" onfocus="this.select()"
    onblur="this.value=!this.value?'Write your comment':this.value;">
    Write your comment</textarea>

有没有办法让这个明文行动只发生一次默认文本?而不是保持静止?

2 个答案:

答案 0 :(得分:1)

如果要清除默认文本,我会以this.value为条件。

对不起,我无法提供代码示例。我对html的信心不足以确保我没有误导你。

答案 1 :(得分:0)

你在该textarea中发生了3件事:

  1. onclick:清除textarea
  2. onfocus:选择此textarea
  3. onblur:如果为空,则将其替换为Write your comment
  4. 您需要编辑的是操作1.(onclick),因为无论当前值是什么,每次用户点击时都会将其清除。您需要它才能清除内容是否为默认值,即:Write your comment

    1. 应该是:onclick:如果值为Write your Comment,则清除否则不执行任何操作。
    2. 所以你的代码应该是这样的:

      <textarea tabindex="4" rows="10" cols="100%" id="comment" name="comment"
        onclick="if (this.value=='Write your comment'){this.value='';}" 
        onfocus="this.select()"
        onblur="this.value=!this.value?'Write your comment':this.value;">
        Write your comment</textarea>