所以我试图有一个模式弹出窗口,根据用户在文本框中键入的内容显示两条消息。我希望脚本检查输入是否包含两个字符串之一,ME或TN(因为我正在看一个邮政编码检查器)。
无论我尝试什么,我都无法让弹出窗口根据输入显示两条消息。我不希望表单提交,我只想抓取已输入的内容。
这是我到目前为止的链接(想象一下,关闭图标位于右上方)..
$(document).ready(function () {
var formResult = $('#postcode-form')
var postcodeMe = /^[me]+$/;
$("#postcode-form").click(function () {
if (formResult.val().indexOf(postcodeMe)) {
$("#basic-modal-content").html("<h2>Yes it works</h2>")
} else {
$("#basic-modal-content").html("<h2>no its wrong</h2>")
}
});
});
http://www.muchmorecreative.co.uk/modal_test/basic-modal-testing-jquery-conditions/
答案 0 :(得分:0)
试试这个:
$(document).ready(function() {
var formResult = $('#postcode-form')
var postcodeMe= /^[me]+$/;
$( "#postcode-form" ).click(function(e) {
e.preventDefault();
if ($(this).val().contains(postcodeMe)){
$( "#basic-modal-content").html("<h2>Yes it works</h2>")
}
else {
$( "#basic-modal-content").html("<h2>no its wrong</h2>")
}
});
});
答案 1 :(得分:0)
问题在于您将formResult设置为全球&#39;变量(sorta)。它在页面加载时获取其值,并且永远不会更改。您应该更改代码以在实际需要时获取值,而不是在页面加载后立即获取。
$(document).ready(function () {
var postcodeMe = /^[me]+$/;
$("#postcode-form").click(function () {
//move it to here so that you get the value INSIDE the click event
var formResult = $('#postcode-form')
if (formResult.val().indexOf(postcodeMe)) {
$("#basic-modal-content").html("<h2>Yes it works</h2>")
} else {
$("#basic-modal-content").html("<h2>no its wrong</h2>")
}
});
});
要考虑的其他一些小事:
indexOf返回一个数字。你应该做indexOf(postcodeMe)&gt; = 0
您可以查看HERE
的索引答案 2 :(得分:0)
试过这两个但没有发生,玩弄它并找到了解决方案..
$(document).ready(function() {
var formResult = $('#postcode-input')
$( "#postcode-button" ).click(function(e) {
e.preventDefault();
if ($('#postcode-input').val().indexOf("ME")!==-1 || $('#postcode- input').val().indexOf("me")!==-1 ){
// perform some task
$( "#basic-modal-content").html("<h2>Yes it works</h2>")
}
else {
$( "#basic-modal-content").html("<h2>no its wrong</h2>")
}
});
});
感谢您的帮助!