【问题标题】:How to hide or not send input name if empty? php如果为空,如何隐藏或不发送输入名称? php
【发布时间】:2015-05-06 12:06:49
【问题描述】:

我有一个 PHP 表单。如果输入文本字段的“值”为空,是否可以不发送/隐藏标签名称 =“Field2”? 代码:

<form action="searchresult.php" method="get">
<input type="text" name="Field1">
<input type="text" name="Field2">
<button type="submit">Submit</button>
</form>

结果应该是:

如果字段name="Field2" 为空:searchresult.php?Field1=value

如果name="Field2"字段不为空:searchresult.php?Field1=value&Field2=value

【问题讨论】:

  • 您可以在按钮(提交)单击时使用 javascript 防止表单默认值。然后去掉Field2,然后提交表单
  • @hoi:URL 中的空参数是可以的。如果您想删除它们,只需测试哪些设置并重定向到 正确 URL。
  • 你可以在php中查看:if($_POST['field2_']==''
  • if(empty($_POST['var'])){...} 是的。
  • 您可以捕获字段 1、字段 2 的帖子值并检查是否为空,然后对其应用条件并相应地重定向..

标签: php forms field


【解决方案1】:

可以用jQuery来实现。 您必须抓住submit 并检查是否有任何空字段,然后将其删除。这会将您重定向到给定的网址,网址中没有任何空字段

$(document).ready(function () {
    $('#form').submit(function () {
        var newurl = $(this).find(":input").filter(function () {
            return $.trim(this.value).length > 0
        }).serialize();
        window.location($('#form').attr('action') + '?' + newurl );
        return false;
    });
});

【讨论】:

    【解决方案2】:
        $(".btnSubmit").on("click", function(){
            var content = $.trim($("#input").val());
            if(content == '' || content == null){
                $("#input").removeAttr( "name" );
            }
        });
    

    【讨论】:

    • 呸——只有代码的答案。在评论队列中看到了这个答案。没有解释的答案对 SO 的价值很低,因为它们对教育 OP 或未来的读者几乎没有作用。如果这个答案是正确的(我没有检查),请编辑它以解释为什么它是一个好的解决方案以及它的作用。否则请删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2018-05-21
    • 1970-01-01
    • 2016-01-02
    • 2020-12-31
    • 2014-09-11
    • 2016-03-13
    相关资源
    最近更新 更多