2016-09-29 53 views
-1

我有一个文本字段,我检查以确保提交前文本字段不是空的,它工作正常。如何确保只有一个文本字段不是空的?

如何确保它只检查id =“名称”文本字段不为空并忽略其他文本字段。

<input type="text" class="form-control" id="Name" aria-label="Name" placeholder="Name" required > 

<input type="text" class="form-control" id="address" aria-label="address" placeholder="address"> 

<input type="text" class="form-control" id="zip" aria-label="zip" placeholder="zip" > 

JS

$('input:text').val().length; 
+1

你的意思'$( '#姓名')VAL()长;'。? – vlaz

+0

'$('#Name')。val()。length;' – andrew

+0

使用正确的选择器作业。请参阅[这里](http://www.w3schools.com/jquery/jquery_ref_selectors.asp)以获取jQuery选择器列表。正如其他人指出'$('#Name')'会选择你想要的元素。 – Theo

回答

2

目标由ID的元素,

$('#Name').val().length; 
+0

如果允许html标记,这将无法工作。例如文本字段可以有标签,但它没有任何字符串值。所以检查应该与正则表达式来处理标签。但是如果你只假设有效的字符串,这是可以接受的。 – hakiko

0

你试试这个?

$('#Name').val().length; 
+0

如果允许使用html标记,这将不起作用。例如文本字段可以有标签,但它没有任何字符串值。 – hakiko

+0

@hakkikonu你可以说为_any_单个jQuery写过。 “但是如果你的目标ID改变了,怎么办?”我相信答案永远都是无关紧要的。对任何情况进行编码都是不可能的 - 如果你试图改变风格的选择会变成div?如果在将“h1”元素的CSS规则更改为“p”时停止应用该元素,该怎么办?开发人员在他们管理的HTML中总是需要一些结构。在大多数情况下,没有您的参与,HTML不会奇迹般地改变。 – vlaz

+0

虽然这可能会回答这个问题,但它没有提供任何内容来解释如何或为什么。考虑添加一两句话来解释您的答案以及如何使用它。 – brandonscript

0

您已设置属性required与ID Name输入所以form不会提交,除非它有一定的价值。如果您想检查的空格,您可以使用jQuery $.trim()方法:

$('form').submit(function(e) { 
 
    var name = $('#Name').val(); 
 
    if ($.trim(name) === '') { 
 
    e.preventDefault(); 
 
    return false; 
 
    } 
 
    console.log('form submited!'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text" class="form-control" id="Name" aria-label="Name" placeholder="Name" required /> 
 

 
    <input type="text" class="form-control" id="address" aria-label="address" placeholder="address" /> 
 

 
    <input type="text" class="form-control" id="zip" aria-label="zip" placeholder="zip" /> 
 
    <input type="submit" value="submit" /> 
 
</form>

相关问题