0

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

我的问题是,如果用户收到一条错误消息,告诉他们他们没有登录,则会生成两次“输入您的消息”文本。您可以通过访问http://themeforward.com/demo2/features/contact-form/看到这一点,而不是填写您的信息,然后点击“给我发电子邮件”。我不确定我必须做些什么才能使默认文本仅在何时生成一次

我的文本区域 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

4

2 回答 2

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';
    }
?>
于 2013-04-08T21:46:10.147 回答
1

引用 textareas 时,您应该在 Javascript 中使用innerHTML而不是。value

于 2013-04-08T22:04:17.203 回答