textarea默认文本是重复的

时间:2013-04-08 21:40:50

标签: php contact-form

我创建了一个联系表单,其中包含“输入您的消息”字样作为评论区域的默认值。我的代码有效,但是有问题。

我的问题是,如果向用户发出错误消息,告知他们没有登录,则会生成两次“输入您的消息”文本。您可以访问http://themeforward.com/demo2/features/contact-form/,而不是填写您的信息,然后点击“向我发送电子邮件”,以查看此操作。我不确定我必须做什么不同的默认文本只能在

时生成一次

我的textarea HTML:

<textarea name="comments" id="commentsText" rows="20" cols="30" class="requiredField" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue">
Enter your message
<?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?>

PHP:http://snippi.com/s/t9c1nq7

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

<textarea name="comments" id="commentsText" rows="20" cols="30" class="requiredField" onfocus="if(this.value==this.defaultValue)this.value=''" onblur="if(this.value=='')this.value=this.defaultValue">
<?php
    if(isset($_POST['comments'])) {
        if(function_exists('stripslashes')) {
            echo stripslashes($_POST['comments']);
        }
        else {
            echo $_POST['comments'];
        }
    }
    else {
        echo 'Enter your message';
    }
?>

答案 1 :(得分:1)

在引用textareas时,您应该在Javascript中使用innerHTML代替value