gpt4 book ai didi

jQuery 验证器不验证 onkeyup

转载 作者:行者123 更新时间:2023-12-01 08:01:45 26 4
gpt4 key购买 nike

在阅读了一堆问题并对其应用“解决方案”后,我发现 jQuery 验证器未验证 onkeyup。默认情况下,应该如此。我通过下载新文件来确保源代码没有被修改,什么都没有。

版本:jquery 1.10.2

Validation code:

/* check form */
$("#registerForm").validate({
/* rules: {
primaryPhone: {skip_or_fill_minimum: [2,'.firstPhoneSet']},
contactPrimary: {skip_or_fill_minimum: [2,'.firstPhoneSet']},
secondaryPhone: {skip_or_fill_minimum: [2,'.phoneNum2']},
contactSecondary: {skip_or_fill_minimum: [2,'.phoneNum2']}
}*/
onkeyup: function(element)
{
$(element).valid();
},
errorElement: "span",
rules:
{
birthMonth:
{
skip_or_fill_minimum: [3,'.dob']
},
birthDay:
{
skip_or_fill_minimum: [3,'.dob']
},
birthYear:
{
skip_or_fill_minimum: [3,'.dob']
},
resume:
{
required: true,
extension: "txt|doc|docx"
},
gender:
{
required: true
},
ohlWhy:
{
required: true,
wordCount: ['30']
},
coping:
{
required: true,
wordCount: ['20']
},
intensity:
{
required: true,
wordCount: ['20']
}
}
});

注意:

我已经尝试过运行此代码而无需

onkeyup: function(element)
{
$(element).valid();
},

我还有一个 addClassRules 方法调用:

jQuery.validator.addClassRules({
field:
{
required: true,
minlength: 2
},
zip:
{
required: true,
digits: true,
minlength: 5,
maxlength: 5
},
years:
{
required: true,
digits: true,
minlength: 1,
maxlength: 2
},
phoneNum:
{
required: true,
phoneUS: true
},
phoneNum2:
{
required: false,
phoneUS: true
},
dropList:
{
required: true
},
dob:
{
date: true,
required: true
},
});

什么也没有。这是我在另一个问题上找到的解决方案,但这给了我错误:

未捕获类型错误:对象 [object Object] 没有方法“有效”

这看起来很奇怪,因为 .valid() 是一个验证器方法。

HTML 有很多输入字段:

<form id="registerForm" action="index.cfm" method="post">
<fieldset>
<legend>Basic Information</legend>
<div class="insets">
<label class="control-label" for="fName">First Name: </label>
<input type="text" name="fName" id="fName" class="field" value="<cfoutput>#session.fName#</cfoutput>" /><br />
<label class="control-label" for="lName">Last Name: </label>
<input type="text" name="lName" id="lName" class="field" value="<cfoutput>#session.lName#</cfoutput>" /><br />
<label class="control-label" for="nick">Nickname: <span class="optional">*optional</span></label>
<input type="text" name="nick" id="nick" value="<cfoutput>#session.nick#</cfoutput>" /><br />
</div>
</fieldset>
<br />
<input type="hidden" value="2" id="volType" name="volType" />
<br />

<!--- only show after choice has been made --->
<div id="allInfo">
<fieldset>
<legend>Contact Information</legend>
<div class="insets">
<label class="control-label" for="emailAddy">Email: </label>
<input type="email" class="input-xlarge" name="emailAddy" id="emailAddy" required value="<cfoutput>#session.emailAddy#</cfoutput>" /><br />

<!--- show only to shl vols --->
<span id="shlOnly">
<label class="control-label" for="rainnEmail">RAINN Email: </label>
<input type="email" name="rainnEmail" class="input-xlarge" id="rainnEmail" required value="<cfoutput>#session.rainnEmail#</cfoutput>" /><br />
</span>
<!--- end show only --->

<!--- only show to rcc and website vols --->
<span id="rccANDwebs">
<label class="control-label" for="address1">Address: </label>
<input type="text" name="address1" class="input-xlarge field" id="address1" value="<cfoutput>#session.address1#</cfoutput>"/><br />
<label class="control-label" for="address2">Apartment, Suite, etc:
<span class="optional">*optional</span></label>
<input type="text" name="address2" class="input-xlarge" id="address2" value="<cfoutput>#session.address2#</cfoutput>" /><br />
<label class="control-label" for="city">City: </label>
<input type="text" class="field" name="city" id="city" value="<cfoutput>#session.city#</cfoutput>" /> <br />
</span>
<!--- end show only --->

<label class="control-label" for="state">State: </label>
<select id="state" class="input-mini dropList" name="state">
<option value="">--</option>
<cfoutput query="states">
<option value="#states.id#" <cfif #session.state# EQ #states.id#>selected="selected"</cfif>>#states.stateName#</option>
</cfoutput>
</select>
<label class="control-label" for="zip">Zip: </label>
<input type="text" name="zip" class="input-small zip" id="zip" value="<cfoutput>#session.zip#</cfoutput>" />

<label class="control-label" for="primaryPhone">Primary Phone: </label>
<input type="text" class="input-medium phoneNum firstPhoneSet" name="primaryPhone" id="primaryPhone" placeholder="703-555-1010" value="<cfoutput>#session.primaryPhone#</cfoutput>" />
<br /><span class="optional">Can we leave a message at this number?</span><br />

<label class="radio inline" for="contactPrimaryYes">
<input type="radio" checked name="contactPrimary" id="contactPrimaryYes" value="yes" />Yes
</label>

<label class="radio inline" for="contactPrimaryNo">
<input type="radio" name="contactPrimary" id="contactPrimaryNo" value="no" />No
</label>

<label class="control-label" for="secondaryPhone">Secondary Phone:
<span class="optional">*optional</span></label>

<input type="text" class="input-medium phoneNum2" name="secondaryPhone" id="secondaryPhone" placeholder="703-555-1010" value="<cfoutput>#session.secondaryPhone#</cfoutput>" />
<br /><span class="optional">Can we leave a message at this number?</span><br />

<label class="radio inline" for="contactSecondaryYes">
<input type="radio" name="contactSecondary" id="contactSecondaryYes" value="yes" <cfif IsDefined("session.contactSecondary") AND session.contactSecondary EQ "yes">checked</cfif> />Yes
</label>

<label class="radio inline" for="contactSecondaryNo">
<input type="radio" name="contactSecondary" id="contactSecondaryNo" value="no" <cfif IsDefined("session.contactSecondary") AND session.contactSecondary EQ "no">checked</cfif> />No
</label>

</div>
</fieldset>

<!--- if rcc or web --->
<div class="form-actions" id="non-shlButton">
<button type="submit" style="float:right;" class="btn btn-success">Continue to Step 2 &#187;</button>
</div>

<!--- if shl --->
<div class="form-actions" id="shlButton">
<button type="submit" style="float:right;" class="btn btn-primary">Submit My Application</button>
</div>
</div> <!--- end show after choice --->
</form>

所以我的问题是:为什么我的脚本只验证 onfocusoutonsubmit ? (当它是同一类型的多个问题的解决方案时,为什么我会收到该错误?)

最佳答案

将其添加到验证器配置中:

onkeyup: function( element, event ) {
if ( event.which === 9 && this.elementValue(element) === "" ) {
return;
} else {
this.element(element);
}
},

它覆盖了插件的 onkeyup 函数。它应该有效。

现在验证插件以不同的方式工作。它首先等待用户输入文本,然后验证它,当某个字段被验证一次时,onkeyup 就可以正常工作。

关于jQuery 验证器不验证 onkeyup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com