3 回答

TA貢獻2051條經驗 獲得超10個贊
你這里有拼寫錯誤
blnFormValidity= $('#frmShippingHeader')[0].checkValidity()
console.log(blnFromValidity)
blnFromValidity is different than blnFormValidity
除此之外,您可以使用 jquery 驗證插件進行驗證。jQuery 驗證
然后你可以直接檢查表單驗證
$("#btnCreateShipping").click(function(e){
console.log($("#frmShippingHeader").validate());
})
這很容易,并且可以為您提供更多功能。希望有幫助

TA貢獻1784條經驗 獲得超2個贊
更正您現有的代碼:正如每個人為您的變量提到的那樣,這只是拼寫錯誤。所以只要糾正那件事就行了。
另外:在您的 html 表單中,您正在調用onclick事件的方法,請記住,如果您在方法上沒有任何特別的事情要做createShippingOrder(...),請將其刪除,否則您可能無法按事件綁定click和調用的順序獲得所需的結果方法onclick會導致您出現問題,例如以意外的順序發生事情。要解決這個問題,您可以在方法中收集點擊事件的功能,反之亦然。檢查您更正的代碼-jsFiddle。
您還可以使用 JQuery 表單驗證器,它非常方便,如下所示:
<form id="frmShippingHeader">
<input name="trailerNumber" id="trailerNumber" class="form-control fireChange" type="text" aria-describedby="enter Part Number" placeholder="Trailer Number" >
<button type="button" class="btn btn-success" id="btnCreateShipping" >Create Shipping Order</button>
</form>
JQuery 表單驗證:
$("#frmShippingHeader").validate({
rules: {
trailerNumber:
{
required: true,
number:true
},
},
messages: {
trailerNumber:
{
required: "Please trailer number",
number:"Must be a number"
},
}
});

TA貢獻1839條經驗 獲得超15個贊
這對我有用并打印 true
$("#btnCreateShipping").click(function(e){
const blnFormValidity= $('#frmShippingHeader')[0].checkValidity();
console.log(blnFormValidity);
if(blnFormValidity === true){
e.preventDefault();
return false
}
});
function createShippingOrder () {
alert('working')
}
如果你想寫 100% 有效的代碼,使用webstorm
添加回答
舉報