检查输入/类型文本是空/空与jQuery或JavaScript(Checking Input/Typ

2019-10-23 16:06发布

我难倒。 我想检查,看看我的输入类型:文本为空,或者为null,在我的JavaScript。 我现在有这样的:

        if ($("#startDate").val().trim().length() === 0)
    {
        alert("Please fill out the required fields.");
    }

我曾尝试: .val() === "" .val() == "" .length() === 0.length() == 0.length() < 1 .val().length() === 0val().trim().length() < 1 .trim().length() < 1 .text() === "" .text() == "" !$("#startDate").val()

我的HTML是:

<fieldset>
<label for="startDate_[pk]" style="display:block; width:100%;text-align:left">Start Time</label>
<input type="text" name="startDate_[pk]" id="startDate_[pk]" style="width:75px;display:inline" placeholder="pick date" />
@@
<select name="startTime_[pk]" id="startTime_[pk]" style="display:inline;" disabled="disabled">
@{
var time = DateTime.Now.Date.AddHours(8);
for (int i = 480; i < 1260; i += 15)
{
<option value="@i">@DateTime.Now.Date.AddMinutes(i).ToShortTimeString()</option>
}
}
</select>
</fieldset>

我也试过这样:

        $('input[class^="dateValidate"]').each(function () {
        if($(this).val().trim().length === 0)
        {
            alert("Please fill out the required fields.");
        }

我跑出来的想法。

**** ****更新

验证适用于一个选定的对象。 但是,当你选择一个以上,验证只适用于第一个对象。 这里是我的代码:

    function validate()
{
    var startDate = $('[id^="startDate"]').filter(function(){
        return $(this).val().length!==0;
    });
    var showingType = $('[id^="tShowingType"]').filter(function () {
        return $(this).val() === "";
    });
    var startTime = $('[id^="startTime"]').filter(function () {
        return $(this).val() === "";
    });
    var endTime = $('[id^="endTime"]').filter(function () {
        return $(this).val() === "";
    });

    if (startDate.length == 0 || showingType.val() === "" || startTime.val() === "" || endTime.val() === "")
    {
        alert("Please fill out the required fields.");
    }
    else
    {
        UI.goToConfirmStep();
    }

我努力了:

var startDate = $('[id^="startDate"]').filter(function(){
        return $(this).val().length!==0
var startDate = $('[id^="startDate"]').filter(function(){
        return $(this).val().length===0
startDate.length == 0
startDate.length < 0
startDate.length < 1

Answer 1:

看来你有错误ID mapped- startDate的选择。 在你的代码有喜欢的ID startDate_[pk] 所以你需要一个与开始像下面选择。

 var emptyInputs= $('[id^="startDate"]').filter(function(){
     return $(this).val().length===0;
 });

if(emptyInputs.length>0){
   alert("Please fill out the required fields.");
}

小提琴演示



Answer 2:

你是不是正确的靶向ID

if(!$("#startTime_[pk]").val())

 if (!$('#startTime_[pk]').val()) { console.log('input empty'); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <input id="startTime_[pk]" type="text" value="" /> 

更新

在[PK]实际上改变了,因为它是大干快上的页面加载装入了一个GUID

然后使用与开始选择

if(!$('[id^="startTime"]').val())


Answer 3:

length不是函数。 下面是上述代码除去后的括号工作的一个例子length

  function validate() { if ($("#tShowingType").val() === "" || ($("#startDate").val().trim().length === 0) || ($("#startTime").val() === "") || ($("#endTime").val() === "")) { alert("Please fill out the required fields."); } else { UI.goToConfirmStep(); } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <input type='text' id='startDate' /> <button onclick='validate();' >Button</button> 



Answer 4:

更改条件如下:

if(!$('[id^="startDate"]').val()){
        alert("Please fill out the required fields.");
    }


文章来源: Checking Input/Type Text is empty/null with jQuery or JavaScript