2013-07-15 34 views
1

我試圖選擇表單中的所有按鈕,其中包括resetsubmit元素。我現在的選擇是這樣的:按鈕的全包式選擇器(作爲替代:按鈕)

:button, [type=\"submit\"], [type=\"reset\"]

但是,它不與reset工作。

這裏是我的代碼:

HTML:

 <form> 

     <input type="text" /> 
     <input type="text" /> 
     <input type="text" /> 
     <select> 
      <option>hello</option> 
      <option>hi 
      </option> 
      <option></option> 
     </select> 
     <textarea></textarea> 
     <input type="checkbox" name="hi" value="hi" /> 
     <input type="radio" name="test" value="hi" /> 
     <input type="radio" name="test" value="hello" /> 
     <input type="radio" name="test" /> 
     <input type="button" /> 
     <button></button> 
     <input type="reset" /> 
     <input type="submit" /> 

    </form> 

JS:

$(document).ready(function() { 

$("form").submit(function() { 

    var shouldSubmit = true; 

    $(this).children(":input:not(:button, [type=\"submit\"], [type=\"reset\"])").each(function() { 

     if ($(this).val() == "") 
     { 
      shouldSubmit = false; 
      return shouldSubmit; 
     } 

    }); 

    if ($("input:checkbox").length > 0) 
    { 
     if ($("input:checkbox:checked").length == 0) 
      shouldSubmit = false; 
    } 

    if ($("input:radio").length > 0) 
    { 
     if ($("input:radio:checked").length == 0) 
      shouldSubmit = false; 
    } 

    if (shouldSubmit == false) 
     alert("All form fields must be filled out."); 

    return shouldSubmit; 

}); 

}); 
+0

請發表您的HTML和的jsfiddle。如果可能,請使用網絡示例 – j08691

+0

下面是一個輸出所有三個按鈕的小提琴:http://jsfiddle.net/FkfSU/ –

+0

查看我的編輯。我包含了代碼。 –

回答

1

試試這個jQuery選擇:

$('button, button[type="submit"], button[type="reset"]') 
+0

我正在尋找一個全包選擇器,所以我還需要選擇一個正常的按鈕。 –

+1

我不明白。如果你想選擇一個正常的按鈕,爲什麼你不使用$('按鈕')選擇器? –

+0

因爲我希望它是全包的,所以它可以選擇一個正常的按鈕,重置按鈕和提交按鈕。 –