function postData() { //传送数据
var myForm = document.createElement('form');
myForm.method = 'post';
myForm.action = 'a.jsp';
var inputs = myForm.getElementsByTagName('input');
var i;
for (i = 0; i < inputs.length; i++) {
var myInput = document.createElement('input');
myInput.type = inputs[i].type;
myInput.name = inputs[i].name;
myInput.value = inputs[i].value;
myForm.a(myInput);
}
document.body.a(myForm);
myForm.submit();
document.body.removeChild(myForm);
}
function checkSpecificKey(input) { //根据用户输入的内容,检测是否非法
var specialKey = "#$%\^*\'\"\+; ";//Specific Key list
var flag = false;
for (var i = 0; i < specialKey.length; i++) {
var char = specialKey[i];
flag = (input.indexOf(realkey) >= 0);
if (flg) {
alert('请勿输入特殊字符:(# $ % ^ \'" +或者空格 ');
return false;
}
}
return true;
}
window.onload = function () {
function myClick() { // 提交按钮点击事件
alert("hah"); // 这里无法弹出提示框
var myForm = document.getElementByTagName('form');
var inputs = myForm.getElementsByTagName('input');
var submit_flag = false;
for (var i = 0; i < inputs.length; i++) {
submit_flag = checkSpecificKey(inputs.value);
}
if (submit_flag) // 没有非法输入,则post提交数据
{
postData();
}
}
}
业务逻辑为,判断每个input的内容,若全都合法,就提交数据。
可是在测试myClick()函数实现中,alert测试框无法弹出。
本人对js了解不多,希望得到大家的帮助,谢谢!