0

现在,我正在使用 java/ajax 验证联系表单,并使用以下内容在 javascript 中生成错误消息

messages: 
{
    fname: "Please fill in your name",
    email: "Your email will help us contact you",
    subject: "Please fill in the subject of your message",
    recipient: "Please let us know who you would like to contact",
    message: "Please fill out your message",
    captcha: "Please answer 2x3"
}

这会产生

<label class="error">The error message for this id</label>.

我不太确定标签是如何生成的,但我想在未填写时将空文本输入替换为错误消息的值。

我试过使用

fname.value = "the error message";

但这似乎不起作用。关于如何让错误消息显示在输入中而不是生成标签的任何想法?

表单标记:

<form name="myform" id="myform" action="" method="post">
    <fieldset>
        <label for="fname" id="name_label">First Name</label> 
        <input type="text" name="fname" id="fname" value=""> 
        <label for="lname" id="lname_label">Last Name</label> 
        <input type="text" name="lname" id="lname" value="">
    </fieldset>
    <fieldset>
        <label for="email" id="email_label">Email</label> 
        <input type="text" name="email" id="email" value=""> 
        <label for="phone" id="phone_label">Phone Number</label> 
        <input type="phone" name="phone" id="phone" value="">
    </fieldset>
    <fieldset>
        <label for="message" id="message_label">Message</label> 
        <textarea name="message" id="message" size="30" value=""></textarea> 
        <label for="captcha" id="captcha_label">What's 2x3?</label> 
        <input type="text" name="captcha" id="captcha" value="">
    </fieldset><
    input type="submit" name="submit" value="Submit">
</form>
<p>
    <img src="%3C?php%20echo%20get_template_directory_uri();%20?%3E/images/loader.gif" id="loading" alt="Loader" name="loading">
</p>
<div id="results"></div>
4

1 回答 1

1

使用以下 JS:

document.myform.fname.value = messages_parent_obj.messages.fname;

我在这里整理了一个 jsFiddle:http: //jsfiddle.net/dWYWe/(请注意,我包裹messages在一个父对象中,因为您的片段暗示有一个)。

于 2013-07-23T22:54:06.343 回答