我有一个包含表单的jsp文件,我需要验证表单。 jsp页面将作为弹出页面打开,因此我选择不再弹出验证消息。这是我的代码。
<script type="text/javascript">
function validateForm() {
var x=document.forms["myForm"]["name1"].value;
if (x.trim().length<=4){
return false;
}
}
</script>
<form name="myForm" method="POST" action="write.jsp" onsubmit="return validateForm();">
Name: <input type="text" name="name1" value="<%=name%>" size="20"/> <br>
Price: <input type="text" name="price" value="<%=price%>" size="20" /><br>
Due time: <input type="text" name="DueTime" value="<%=dueday%>" size="20" /><br>
Location: <input type="text" name="Location" value="<%=address%>" size="20" /><br>
Photo Url: <input type="text" name="url" value="<%=imagePath%>" size="20" /><br>
Description: <input type="text" name="desc" value="<%=desc%>" size="20" /><br>
<input type="submit" name="submit" onclick="window.close()"/>
<% if(validateForm = false) { %> <a>error message</a> <% } %>
</form>
我仅验证第一个输入"name1"
,输入长度小于4
我想在提交按钮下面显示一条错误消息。代码不起作用,任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
使用document.getElementsByName("name1")
代替document.forms["myForm"]["name1"].value;
用作
function validateForm()
{
var x=document.getElementsByName("name1").value;
if (x.trim().length<=4)
{
alert("Message");
return false;
}
}
答案 1 :(得分:0)
document.getElementsByName('name1')[0].value;
取代
document.forms["myForm"]["name1"].value;
使用提交按钮下方的跨度
HTML
<span id="error"></span>
脚本
function validateForm()
{
var x=document.getElementsByName('name1')[0].value;
if (x.trim().length<=4)
{
document.getElementById("error").innerHTML="atleast 4 letters required in name";
return false;
}
}