我有一个带有一个输入自动完成的表单,我只发送操作,用户在我的输入中选择一行。 我写了这段代码,但没有提交工作。
<script type="text/javascript">
$(document).ready(function(){
$("#q").autocomplete({
source: "tagSearch.php",
minLength: 2,
delay: 0,
select: function(event, ui) {
$("#q").val(ui.item.label);
$('#my-form').submit(function() {
if($("#q").val() == "" || $("#q").val() == "no result" ){
alert("Message Cannot be empty");
return false;
}
return true;
});
}
});
});
<form id="my-form" action="search.php" method="GET">
<input name="q" id="q" />
<input type="submit" name="GO" value="GO" />
</form>
答案 0 :(得分:3)
您没有在select方法上调用submit
,而是在表单中附加处理程序。
试试这个
$(document).ready(function(){
$("#q").autocomplete({
source: "tagSearch.php",
minLength: 2,
delay: 0,
select: function(event, ui) {
$("#q").val(ui.item.label);
$('#my-form').submit();
});
$('#my-form').submit(function() {
if($("#q").val() == "" || $("#q").val() == "Nessun risultato" ){
alert("Message Cannot be empty");
return false;
}
return true;
});
});
我将提交处理程序移到select方法之外。现在,在select中,只需调用submit并执行正确的处理程序
$('#my-form').submit();