如果jquery autocomplete组合框字段为空,则阻止提交

时间:2012-02-21 15:25:18

标签: jquery autocomplete combobox web

我在我的网络应用程序中使用了Jquery Autocomplete组合工具(非常好的工具)但是如果与自动完成组合框关联的字段为空,我想阻止表单提交。

所以现在,如果没有通过组合框选择任何内容我只是不显示提交按钮,但是如果选择了某些内容然后删除了......我不知道何时(或者哪里)我有隐藏我的提交按钮。

有什么想法吗?

提前致谢。

这里编辑的是我的代码:

/* HTML */
//The select filled with data for the combobox
<select id="combobox">
        <option value=""></option>
        <c:forEach var="item" items="${itemList}">
            <option value="${item.value}">${item.key}</option>
        </c:forEach>        
</select>

 //The form with the button
<form name="updateForm" action="update.htm" method="post">
    <input type="hidden" id="id1" name="cID" />
    <input type="hidden" id="id2" name="rID" />
    <input type="submit" id='btn_update' value="Update" />
</form>

/* JAVASCRIPT */
//combobox widget init (...)
$("#btn_update").hide();
$( "#combobox" ).combobox({
    selected:selectedFunc
});

1 个答案:

答案 0 :(得分:0)

如果我不明白,你看起来像这样,

<强> HTML

<select id="sel">
    <option>-select-</option>
    <option value="example1">example1</option>
    <option value="example2">example2</option>
</select>
<input type="submit" id="but" style="display:none;"/>

<强>脚本

$("#sel").change(function() {

if(this.selectedIndex == 0) 
    $("#but").hide();
else 
    $("#but").show();
});​

这是jsFiddle link


修改

无法准确解决您的问题,但也许此示例将以

的方式向您展示

你可以使用change事件来控制自动完成,所以如果它为null,则隐藏提交按钮,如果不是null显示提交按钮。

here is an example in jsFiddle

但来自jquery-ui-autocomplete document

的坏消息
  

更改活动

     

当字段模糊时触发,如果值已更改;   ui.item指的是所选项目。

意思是不会在onkeypress上工作,它必须被模糊才能被触发。如果你可以将keypress事件添加到jquery-ui-autocomplate,它将完全正常工作。