一种将数据插入到mysql但在插入数据之前的表单我想编写一个JavaScript,它将在提交之前验证表单,但可以让它工作。在HTML中,我添加了输入的required和pattern属性来验证表单数据,并检查用户是否填写了必填字段,但我还想添加一个脚本,该脚本还将验证表单并在标记中显示一条消息编号errorMessage但它似乎不工作。JavaScript代码不起作用,写了这段代码来验证我的表单,但它不起作用
var inputFields = document.theForm.getElementsByTagName("input");
for (key in inputFields) {
var myField = inputFields[key];
var myError = document.getElementById('errorMessage');
myField.onchange = function() {
var myPattern = this.pattern;
var myPlaceholder = this.placeholder;
var isValid = this.value.search(myPattern) >= 0;
if (!(isValid)) {
myError.innerHTML = "Input does not match expected pattern. " + myPlaceholder;
} else { //pattern not valid
myError.innerHTML = "";
} //pattern is valid
} // myField has changed
} // inputFields
<form id="createForm" name="theForm" method="post" action="createUser.php">
<legend><span class="icon"><img src="/registerUser/img/createIcon.png"></span> Create New User</legend>
<p><span id="requiredfields">* required field.</span>
</p>
<span id="formMessage" class="message"> </span>
<span id="errorMessage"> </span>
<input id="fname" type="text" name="fname" placeholder="Name *" pattern="[A-Za-z ]+" required>
<br>
<br>
<input id="email" type="email" name="email" placeholder="Email *" required>
<br>
<br>
<input id="username" type="text" name="username" placeholder="Username *" required>
<br>
<br>
<input id="password" type="password" name="password" placeholder="Password *" required>
<br>
<br>
<label for="roles">Roles:</label>
<select id="role" name="roles">
<option>Select Role</option>
<option value="empty"></option>
<option value="Reporter">Reporter</option>
<option value="Lover">Lover</option>
<option value="Other">Other</option>
</select>
<br>
<br>
<input id="create" type="submit" name="createUser" value="Create User">
</form>
咦?你的问题标题说你有“代码工作”和“它确实有效”。那么问题是什么? – nnnnnn
你的意思是什么不起作用。控制台中是否有错误信息?无论如何表单提交(这可能是由于您的脚本中的错误) – jeff
'document.theForm.getElementsByTagName(“input”); '' 'theForm'在哪里? – 2016-02-13 01:07:27