我第一次使用JS。似乎根本无法调用外部JS函数。我有一个HTML表单,我试图调用一个函数,所以如果第一个名称框为空,我会收到一条消息,说要填写一个名字。
我的表格
<head>
<script type="text/javascript" src="scripts/validation.js"></script>
</head>
<body>
<form name="myForm" method="post" action="somewhere.html"
onsubmit="validation()">
<fieldset id="PersonalDetails">
<legend>Personal Details</legend>
<div class="form" id="firstname">
<p>First Name: <br />
<input type="text" name="firstname" />
</p>
</div>
</fieldset>
</form>
</body>
在JS文件中:
function validation(){
var x=document.forms["myForm"]["firstname"].value;
if (x==null || x=="")
{
alert("First name must be filled out!!!!");
return false;
}
}
答案 0 :(得分:2)
你需要在表单中有一个提交按钮来触发onsubmit事件。如果您正确导入了javascript,系统会调用您的函数。请参阅下面的“使用提交按钮进行表单”。
<body>
<form name="myForm" method="post" action="somewhere.html"
onsubmit="validation()">
<fieldset id="PersonalDetails">
<legend>Personal Details</legend>
<div class="form" id="firstname">
<p>First Name: <br />
<input type="text" name="firstname" />
</p>
<input type='submit' value='submit'/>
</div>
</fieldset>
</form>
</body>
答案 1 :(得分:1)
只需将onsubmit="validation()"
更改为onsubmit="return validation()"
答案 2 :(得分:0)
试试这个
更改表单
<form name="myForm" method="post" action="#" onsubmit="validation()">
更改您的javascript
function validation(){
var x=document.forms["myForm"]["firstname"].value;
if (x==null || x==""){
alert("First name must be filled out!!!!");
return false;
}else{
document.forms["myForm"].setAttribute("action", "somewhere.html").submit();
}
}