0

我的表单中有一些选择选项,它们会将数据发布到我的脚本中。但是

    <select name="city" id="City">
    <option></option>
    </select>
    <select name="country" id="Country">
    <option></option>
    </select>

但是当它们为空时,它们会发布没有价值的数据,如下所示:

city=&country=&

我知道我可以通过 unset 命令取消设置它们。但是当我将这些数据传递给 javascript 库(jquery)并序列化主题时,每个人都可以在 firebug 中看到它们。如何防止空选择选项不发布数据?

谢谢

4

3 回答 3

4

如果您在这里使用 jQuery 是您可以适应和利用的东西的快速模型,那么添加禁用属性将不会提交该表单元素:

<form method="get" action="./">
    <select name="city" id="City">
        <option></option>
    </select>
    <select name="country" id="Country">
        <option></option>
    </select>
    <input type="submit">
</form>
<script type="text/javascript">
$(function(){
    $('form').submit(function(){
        $('select').each(function(){
            if($(this).val()==''){
                $(this).attr('disabled','disabled');
            }
        })

    })
})
</script>
于 2012-12-08T21:00:06.350 回答
1

好的,如果有空的选择框。然后至少放一个标记,例如

<option value="0">No data available</option>

所以你可能会得到0。

于 2012-12-08T20:56:18.363 回答
0

您可以通过设置 disabled 属性来禁用它们,如下所示:

<select name="city" disabled="disabled">
    ...
</select>

这应该会阻止浏览器在其 POST 请求中发送此字段。

于 2012-12-08T20:55:52.163 回答