所以我遇到的问题是,长篇大论,我正在构建一个带有验证等的表单,没什么特别的,但是当单击“提交”按钮时,发生了一些我一生都无法解决的事情,弄清楚为什么。
最初,这个简单的 SUBMIT 按钮的 html 部分是这样的:
<input type="submit" id="submit" value="Submit"/>
在那个按钮上点击,其中一件事情发生了。
按钮变得非常小,在幕后(萤火虫等)里面的文字消失了,在萤火虫检查时,代码看起来像这样
<input type="submit" id="submit" value>
它完全去除了该表单元素属性的值部分。
或者
2.提交按钮“值”成为我的错误消息之一。例如,你会看到类似
<input type="submit" id="submit" value="oops, you forgot something"/>
当用户忘记填写字段时,这是我的错误消息之一。
或者
- 在Firefox上,即使在新页面加载/重新加载时,在该按钮上单击鼠标右键,当我右键单击它以选择“查看源代码”或“使用Fbug检查”时,该按钮变为绿色......相同正确满足参数时字段获得的绿色。
我已经停止搞砸了,因为这些很奇怪,所以我希望有人能帮我解决这个问题。到目前为止,它很糟糕。哈哈
这是js:
<script>
$('document').ready(function(e) {
//FORM VARS
var firstName = $('#form-name');
var formEmail = $('#form-email');
var formSbj = $('#form-subj');
var formMssg = $('#form-mssg');
var mainF = $('#spForm');
var box = $("#box");
var addem = $('#addem');
var addemR = 8;
var formSubBtn = $('#submit');
var formFields = $('#spForm :input');
//FORM ERROR MESSAGES
var error_MK = 'oops, you forgot something';
var error_isntAnum = 'answer must be numerical please';
var error_numAddition = 'So whats 5 + 3 again???';
var finalCheck = false;
var pageErrorDiv = $('#gen_error');
//this one fires on click
function clearField(){
if($(this).val() == this.defaultValue || $(this).val() == error_MK || $(this).val() == error_isntAnum ||
$(this).val() == error_numAddition){
this.value = '';
//use this as a workaround for the disappearing "submit" text --> formSubBtn.val('Submit');
}
}
//this one fires on blur
function checkVals(){
if($(this).val()==""){
$(this).css("background-color","red");
$(this).css("color","white");
$(this).val(error_MK);//error mssg
} else {
$(this).css("background-color","green");
$(this).css("color","white");
}
}
//this one checks to see if the person can add lol...make sure its not a SPAM robot.
function checkAddem(){
if(addem.val()== 'oops, you forgot something' || addem.val()=='AND THE TOTAL IS?'){
addem.css('background-color','red');
addem.css('color','white');
addem.val(error_MK); //error mssg
} else if(isNaN(addem.val())){
addem.css('background-color','red');
addem.css('color','white');
addem.val(error_isntAnum);//error mssg
} else if(addem.val() != addemR){
addem.css('background-color','red');
addem.css('color','white');
addem.val(error_numAddition);//error mssg
}
}
formFields.click(clearField);
formFields.blur(checkVals);
addem.blur( checkAddem );
//FINAL CHECK b4 form submittal.
formSubBtn.bind('click', function(){
//on click double check all fields
if( firstName.val()=="" || firstName.val()=="ENTER YOUR NAME HERE" || firstName.val()== error_MK ||
formEmail.val()=="" || formEmail.val()== error_MK || formEmail.val()=="ENTER YOUR EMAIL HERE" ||
formSbj.val()=="" || formSbj.val()== error_MK || formSbj.val()=="SO WHAT DO YOU WANT TO CHAT ABOUT?" ||
formMssg.val()=="" || formMssg.val()== error_MK || formMssg.val()=="ENTER YOUR MESSAGE HERE" ||
addem.val() != addemR){
pageErrorDiv.text("Information entered either no good or blah blah blah");
return false;
}else{
return true;
}
});
});
</script>
哦,附:所以你可以看到发生了什么,这是我的测试链接。