我正在使用asp.net
构建表单并尝试使用javascript
验证它
验证似乎工作正常,但未将文本插入<p></p>
标记。我没有正确使用document.getElementById("errorEmail").innerHTML = text;
或什么?
下面是我的代码,我添加了一个alert
来帮助解决问题并且alert
正在运行,因此我知道条件有效且将值设置为text
<script>
function validateForm() {
alert("testing");
var x, text;
x = document.forms["form1"]["textEmail"].value;
if (x == null || x == "" || x == "Email") {
alert("testing if conditional");
text = "Please input your eamail";
alert(text);
}
document.getElementById("errorEmail").innerHTML = text;
}
</script>
<form id="form1" runat="server">
<p id="errorEmail"> </p>
<asp:TextBox ID="textEmail" runat="server" placeholder="Email" name="email"></asp:TextBox>
<asp:Button ID="buttonSubmit" runat="server" Text="Submit Request" OnClientClick="return validateForm();"/>
</form>
答案 0 :(得分:1)
您正在设置文本的方式似乎没有问题。
我不知道asp.net如何工作但是从JavaScript的角度来看我可以说你应该在出错的情况下返回false。似乎您的页面在提交后立即刷新。
lib1.so
这是我设置的小提琴,希望它有所帮助。
答案 1 :(得分:0)
这是有问题的行(无法获取对表单的引用以及稍后对文本字段的引用):
x = document.forms["form1"]["textEmail"].value;
改为使用:
x = document.getElementById("textEmail").value;
答案 2 :(得分:0)
您显示文本的代码是正确的,问题是您在其他地方有javascript错误。调试你的javascript以找到错误的来源。