ですから、私が抱えている問題は、検証などを使用してフォームを作成するという長い話ですが、特別なことは何もありませんが、[送信]ボタンをクリックすると、私が一生できないことがいくつか起こっています。どうして。
もともと、この単純な送信ボタンのhtml部分は次のとおりです。
<input type="submit" id="submit" value="Submit"/>
そのボタンをクリックすると、これらのいずれかが発生します。
ボタンが非常に小さくなり、舞台裏(firebugなど)でその中の単語が消え、firebugチェックでコードは次のようになります
<input type="submit" id="submit" value>
そのフォーム要素プロパティの値部分を完全に取り除きます。
また
2.送信ボタンの「値」がエラーメッセージの1つになります。たとえば、次のようなものが表示されます
<input type="submit" id="submit" value="oops, you forgot something"/>
これは、ユーザーがフィールドに入力するのを忘れたときのエラーメッセージの1つです。
また
- 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>
ああ、Ps; 何が起こっているかを見ることができるので、ここに私のテストリンクがあります。