【问题标题】:Jquery if input is empty add value and submitJquery如果输入为空添加值并提交
【发布时间】:2012-12-17 18:22:48
【问题描述】:

我进行了一次狩猎,但无法让它发挥作用。如果表单上的输入为空,则需要为其添加一个值,然后提交,如果它已经有一个值,则使用该值提交。

到目前为止的代码

    <form name="form1" action="http://csster.com/generate.php" method="post" id="formit">
Name: <input name="name" type="text" /><br/>
Mothers Name: <input id="desti" name="mname" type="text" /><br/>
Fathers Name: <input name="fname" type="text" /><br/>
<input name="submit" type="submit" value="Submit" />
</form>


    $("#formit").submit(function(){
        if($("#desti:empty").text('Australia'));
});

Check the fiddle

编辑 - 是否有可能使附加值在提交之前不可见,这可能会使特定表单上的人感到困惑。

【问题讨论】:

    标签: jquery forms validation


    【解决方案1】:

    试试这个:

    $("#formit").submit(function(){
         if ( $("#desti").val().length === 0 ) 
                $("#desti").val('Australia');
     });
    

    这里是JSFiddle

    【讨论】:

    • 干杯,当你看到它时它总是有意义的;)
    【解决方案2】:

    您应该对表单元素使用val 方法。

    $("#formit").submit(function(){
        $("#desti").val(function(i, v){
            return $.trim(v) === '' ? 'Australia' : v;
        })
    });
    

    $("#formit").submit(function(){
        var $e = $("#desti");
        if ($e.val() === '') $e.val('Australia').addClass('aClass')
    });
    

    【讨论】:

    • 请查看我的编辑,是否可以在提交前使其不可见?
    • @Nik 不,也许你可以隐藏输入,如果你想要输入的默认值,为什么不在服务器端这样做?
    • 我无法访问服务器,只能访问客户端:/ 如果输入为空,我可以在输入中添加一个类以使文本变白吗?
    • @Nik 是的,您可以将颜色更改为白色,或者添加 text-indent 属性。
    • 如果类不为空则添加类
    【解决方案3】:

    你可以用val()获取输入值,用val()设置

    $("#formit").submit(function(){
        if($("#desti").val() === '')$("#desti").val('Oz')  
    });
    

    【讨论】:

      【解决方案4】:

      试试这个

      $("#formit").submit(function(){
      

      if ($('#desti').is(":empty")) { $('#desti').val('Australia'); } });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多