//此為錯誤範例,正確範例請看: //https://jsfiddle.net/hugogo7646/auyfdszz/ //submit按一次,第一個radio的valid被false隱藏, //按下第二個radio後,其valid為true,但第一個radio還是為false, //所以再按下submit後,會無法submit,此時第一個radio的valid才會正常 //為true,故要再按一次submit才可submit function check(target) { target.setCustomValidity(""); if (!target.validity.valid) { target.setCustomValidity("自訂訊息"); } }
<form> <input type="radio" name="radioGroup" oninvalid="check(this);" onclick="check(this);" required/> <input type="radio" name="radioGroup" oninvalid="check(this);" onclick="check(this);" required/> <input type="submit" /> </form>