我正在开设一个类的网站,只有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 =“#”?不确定....谢谢!
答案 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!");
}
}