弹出窗口中重复的JavaScript表单字段

时间:2017-02-19 18:25:53

标签: javascript

我正在开设一个类的网站,只有HTML和CSS,但我自己也尝试使用JavaScript。此时,我有一个表单,我希望在发送之前通过弹出窗口将所有字段重复回用户。我现在没有任何进一步发送信息的东西,只是试图让实际的弹出窗口完成,但对于我的生活,我似乎无法到达任何地方。 代码:

    <form name="submitForm" id="submitForm" method="post" action="#">
    <textarea style="width: 145px" name="Name" id="nameTA" placeholder="Your name"></textarea><br/>
    <textarea style="width: 145px" name="Contact Information" id="contactInfoTA" placeholder="Your contact information"></textarea><br/>
    <textarea name="Message" style="height: 200px; width: 145px" id="messageTA" placeholder="Your Message"></textarea><br/>
    <input type="submit" name="submit" id="submitButton" onsubmit="send();" value="Send Message"></input> <br/>
</form> 

是原始表单,JS是:

function send() { 
var nameJS = document.getElementById('nameTA').textContent;
var contactJS = document.getElementById('contactInfoTA').textContent;
var messageJS = document.getElementById('messageTA').textContent;
if(nameJ === "" || contactJ === "" || messageJ === "")
{
    alert("Please fill out all fields.");
}
else
{
    alert(" Name: " + nameJS.value + " \n Contact Info: " + contactJS.value + " \n Message: " + messageJS.value + " \n Submitted!");
}

}

我尝试在本地或在altervista,document.getElementById()。value上运行它; .textContent;而且我在控制台中没有任何信息,我的想法已经用完了,所以任何帮助都会非常感激 - 也许与onsubmit参数有关,或者action =“#”?不确定....谢谢!

1 个答案:

答案 0 :(得分:0)

您必须在表单上指定onsubmit事件,而不是在输入按钮上指定。

<form name="submitForm" id="submitForm" method="post" action="#" onsubmit="send();">
<textarea style="width: 145px" name="Name" id="nameTA" placeholder="Your name"></textarea><br/>
<textarea style="width: 145px" name="Contact Information" id="contactInfoTA" placeholder="Your contact information"></textarea><br/>
<textarea name="Message" style="height: 200px; width: 145px" id="messageTA" placeholder="Your Message"></textarea><br/>
<input type="submit" name="submit" id="submitButton" value="Send Message"></input> <br/>
</form>

在if条件中的JS函数中,您指定的变量名称错误。您也没有像这样获得输入字段的值。你不需要&#39; .textContent&#39;。 &#39; .value&#39;在你的内心已经足够了。此功能也缺少一个结束花括号。 否则,你不想在if条件下检查是否相等。这就是&#39; ===&#39;确实。相反,您要做的是检查相同的值,这可以通过&#39; ==&#39;来实现。无论如何这也不起作用,因为没有输入和空字符串不相同。相反,您可以检查元素是否包含值。

function send() { 
    var nameJS = document.getElementById('nameTA');
    var contactJS = document.getElementById('contactInfoTA');
    var messageJS = document.getElementById('messageTA');
    if(!nameJS.value || !contactJS.value || !messageJS.value) {
        alert("Please fill out all fields.");
    } else {
        alert(" Name: " + nameJS.value + " \n Contact Info: " + contactJS.value + " \n Message: " + messageJS.value + " \n Submitted!");
    }
}