我正在使用.slideToggle()隱藏/顯示2個div,它們是同一個表單的一部分。第一部分是用戶信息,第二部分是訂單部分。在提交時顯示隱藏的div,但表單無效
除非用戶具有通過slideToggle隱藏的頂部部分(用戶信息),否則一切都工作得很好,但當它們單擊時,它無效(意味着字段缺少數據或不是正確的數據)提交按鈕只會突出顯示紅色字段,並在瀏覽器右下角(在本例中爲firefox)中顯示一條消息,指出「此字段無效」。但用戶不知道哪個字段是無效的,除非他們點擊div使其再次激活slideToggle。
我試圖讓它如此當用戶點擊提交按鈕,如果表單無效(使用HTML5「所需的」字段或模式),它會顯示隱藏的(通過slideToggle)div所以用戶知道他們的表單沒有經過的原因。
下面是代碼到目前爲止,我已經嘗試過:
$("form").submit(function(){
var testvalue = "Hi!";
alert(testvalue);
if (!$(this).valid()) {
$("#user_info_div_2").show();
$("#user_info_div_3").show();
}
});
我也試過:
("#po_form")
這是我的表單的ID,而不是( 「形式」),但它沒有什麼不同。
發現的是,此代碼僅在表單有效時才觸發。 (警告只是我如何測試以確保代碼正在觸發),這意味着submit()函數僅在表單實際提交時觸發(這是有道理的)。
我也試過:
$("#po_submit_button").click(function(){
if (!$(this).valid()) {
var testvalue = "Not Valid Form";
alert(testvalue);
}
});
這也單擊按鈕時沒有任何影響。
我沒有使用javascript驗證,所以也許這就是爲什麼.valid()失敗是因爲我沒有正確使用它?
表格很簡單,它只是在某些字段上具有「必需」屬性,其中1個使用了模式屬性來確保狀態只有2個字符。我可以發佈表單的代碼,如果你需要它,但它的設計「簡單」,但不是簡單的書寫(大量的PHP裏面)
有沒有辦法讓它運行一些.show()代碼如果表格無效?
如果我需要閱讀關於使用JavaScript驗證或甚至jQuery驗證我可以但希望只使用HTML5。我真的很喜歡slideToggle(),讓一點信息一下子出現在屏幕上(看上去很乾淨),但我不能讓提交按鈕不做任何事情,用戶會感到困惑,因爲他們需要填寫的字段不是' t在屏幕上(當前)。
編輯:這裏是一個小提琴
這是怎麼了我當前的代碼工作。 (或不工作)
我想使它如此,如果你有用戶部分不可見和不完整,並且你點擊了訂單部分中的按鈕,用戶部分打開,以便用戶可以看到爲什麼他們的表格沒有正確提交。
我在原來的職位加入了小提琴來證明我的代碼是做表單元素上,希望你和其他人可以看到什麼我正在努力。 – DerekConlon 2014-09-29 19:51:07