当我尝试致电时,我收到标题错误validate()
在我的表单上运行。我所做的所有研究都说“确保你在调用它”,但我 95% 确定我是这样,因为这是我的调用:
<script type="text/javascript" src="http://test.elitetradersgroup.com.au/wp-content/plugins/a-test/jquery.validate.min.js?ver=3.3.2"></script>
<script type="text/javascript" src="http://test.elitetradersgroup.com.au/wp-content/plugins/a-test/additional-methods.min.js?ver=3.3.2"></script>
当我在 Chrome 开发工具中单击它们时,它们会显示插件文件,让我相信它们已包含在内。它们是在 jQuery 之后被调用的,所以我非常怀疑是这样的。
表格如下所示:
<form action="http://test.elitetradersgroup.com.au/broker-tools/amazon-upload/" method="post" class="upload" enctype="multipart/form-data">
<label class="title hide" for="theTitle">Email Title</label>
<input id="theTitle" class="hide" type="text" name="theTitle"><div id="amazon_title_char_count" class="hide"></div><div id="excess_warning" style="display:none; font-weight: bold;color: red;"></div>
<label class="title hide" for="theSite">Select Email From</label>
<div class="option hide"><span class="sec_name">Elite Traders Group</span><div class="opt-cont"><input class="radio broadcast" type="radio" id="sec_2" name="theSite" value="s_2"><label class="radio" for="sec_2">Broadcast</label></div></div><div class="option hide"><span class="sec_name">Elite Futures Mastery</span><div class="opt-cont"><input class="radio broadcast" type="radio" id="sec_6" name="theSite" value="s_6"><label class="radio" for="sec_6">Broadcast</label></div><div class="opt-cont"><input class="radio daily-forex-room" type="radio" id="sec_10" name="theSite" value="s_10"><label class="radio" for="sec_10">Daily Forex Room</label></div><div class="opt-cont"><input class="radio day-ahead" type="radio" id="sec_3" name="theSite" value="s_3"><label class="radio" for="sec_3">Day Ahead</label></div><div class="opt-cont"><input class="radio the-daily-beef" type="radio" id="sec_9" name="theSite" value="s_9"><label class="radio" for="sec_9">The Daily Beef</label></div><div class="opt-cont"><input class="radio trade-progress" type="radio" id="sec_5" name="theSite" value="s_5"><label class="radio" for="sec_5">Trade Progress</label></div><div class="opt-cont"><input class="radio trade-recommendation" type="radio" id="sec_11" name="theSite" value="s_11"><label class="radio" for="sec_11">Trade Recommendation</label></div><div class="opt-cont"><input class="radio week-ahead" type="radio" id="sec_4" name="theSite" value="s_4"><label class="radio" for="sec_4">Week Ahead</label></div></div><div class="option hide"><span class="sec_name">Daily Wealth Report</span><div class="opt-cont"><input class="radio technical-toolbox" type="radio" id="sec_1" name="theSite" value="s_1"><label class="radio" for="sec_1">Technical Toolbox</label></div></div><div class="option hide"><span class="sec_name">Elite Options Mastery</span><div class="opt-cont"><input class="radio broadcast" type="radio" id="sec_7" name="theSite" value="s_7"><label class="radio" for="sec_7">Broadcast</label></div></div><div class="option hide"><span class="sec_name">Options Made Easy</span><div class="opt-cont"><input class="radio broadcast" type="radio" id="sec_8" name="theSite" value="s_8"><label class="radio" for="sec_8">Broadcast</label></div></div>
<label class="title hide">Files to include</label>
<div id="container">
<div id="filelist"></div>
<div id="queue-time"></div>
<br>
<a id="pickfiles" class="hide" href="#">[Select files]</a>
</div>
<label class="title hide">Extras</label>
<input type="checkbox" class="hide" id="positons" name="positions" value="positions-box"><label class="hide" for="positons">Include Positions</label>
<input type="checkbox" class="hide" id="message" name="message" value="message-box"><label class="hide" for="message">Include message</label>
<input type="checkbox" class="hide" id="additional-webinar" name="additional-webinar" value="additional-webinar-box"><label class="hide" for="additional-webinar">Include Additional Webinar</label>
<div class="hide" id="positions-box" style="display:none;">
<label class="title">Positions Info</label>
<label>New/Potential Trades</label>
<input type="text" name="np-trades">
<label>Current Trades</label>
<input type="text" name="cur-trades">
<label>Updates</label>
<input type="text" name="update-trades">
</div>
<div class="hide" id="message-box" style="display:none;">
<label class="title">Email Message</label>
<textarea id="message-ta" name="message" cols="50" rows="10"></textarea>
<div id="message_char_count"></div>
<div id="message_excess_warning" style="display:none; font-weight: bold;color: red;"></div>
</div>
<div class="hide" id="additional-webinar-box" style="display:none;">
<label class="title">Select Additional Webinar</label>
<select name="additional-webinar-selection">
<option value="0" selected="">Please Select</option>
<option value="173">Del All test(Elite Options Mastery)</option><option value="171">Glob Test(Elite Futures Mastery)</option><option value="169">Test 2(Elite Futures Mastery)</option><option value="167">Test(Elite Futures Mastery)</option><option value="164">Test(Elite Futures Mastery)</option><option value="162">New Min TEst(Elite Futures Mastery)</option><option value="160">Min Height Test(Elite Options Mastery)</option><option value="158">Title Yo(Elite Options Mastery)</option><option value="156">Title(Options Made Easy)</option><option value="96">TT Test(Daily Wealth Report)</option> </select>
</div>
<input type="hidden" value="elitetradersgroup" name="amazon_bucket">
<button class="hide" id="validate" type="button" onclick="broker_validate()">Validate</button>
<button class="hide" id="juploader" type="button" style="display:none">Upload</button>
<input type="hidden" name="uid" value="p16ubcu16t1gus18ls12g79ls1"></form>
调用是这样的:
<script type="text/javascript">
function broker_validate() {
jQuery("form").validate({ //line where the error pops up in console
rules: {
theTitle: {
required: true
},
messages: {
theTitle: {
required: "The email needs a title"
}
}
}
})
if (jQuery("form").valid()) {
jQuery("#validate").hide();
jQuery("#juploader").show();
}
};
</script>
这件事让我难住了,我确信这是一个愚蠢的小语法或优先级错误。任何有新眼光的人都能发现它吗?
仅供参考,该网站正在运行 WordPress,您可以通过从插件文件中提取 jQuery 来判断。
Chrome 控制台输出是对此处评论的回应console.log(jQuery("form"));
:
E.fn.E.init
0: HTMLFormElement
length: 1
prevObject: E.fn.E.init
__proto__: Object