当我点击提交按钮时,我正试图在html文件中搜索一个单词(据我所知,我的正则表达式没问题;它有效)。问题是我的代码只有在代码底部添加警报(而不是其他任何地方)时才会运行。我做错了什么?
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#ana").submit(function () {
var lemma = $("#lexi").val();
var lex = new RegExp(".*<b>" + lemma + ".*");
jQuery.get('alfa.html', function (data) {
$("#apo").html(data.match(lex));
});
alert(lemma);
});
});
</script>
<div id="apo"></div>
答案 0 :(得分:1)
我还没有对此进行过测试,但我的假设是您需要阻止提交功能的默认设置。像这样:
$("#ana").on( 'submit', function (e) {
e.preventDefault();
// the rest of your code
});
以下是我的推理:既然你没有告诉网页不要在提交时执行默认的表单操作,那么你的get请求是异步的,没有时间做它的事情在页面完成其操作之前。但是,警报暂停页面操作,这就是为什么当你在那里添加警报时它会工作的原因。