Javascript jQuery:检查空输入时修剪不起作用

Javascript jQuery:检查空输入时修剪不起作用,javascript,jquery,input,trim,Javascript,Jquery,Input,Trim,我使用$.trim检查输入是否为空,如果为空,则不应发生任何事情。如果不是空的,则应提交表格 这是条件所在的变量: var save = $("<input type='button' value='Save' />").on('click',function() { if(!$.trim(name)==''||!$.trim(degree)==''||!$.trim(dateFrom)==''||!$.trim(dateTo)=='') {

我使用$.trim检查输入是否为空,如果为空,则不应发生任何事情。如果不是空的,则应提交表格

这是条件所在的变量:

var save = $("<input type='button' value='Save' />").on('click',function() {
        if(!$.trim(name)==''||!$.trim(degree)==''||!$.trim(dateFrom)==''||!$.trim(dateTo)=='') {
            $("#list").append("<li>Name: "+$('#elem1').val()+
                             "<br>Degree: "+$('#elem2').val()+
                             "<br>Date From: "+$('#elem3').val()+
                             "<br>Date To: "+$('#elem4').val()+
                             "</li>");
            cancel.click();
        } else {}
    });
var save=$(“”)。在('click',function()上{
如果(!$.trim(名称)=''| |!$.trim(度)=''| |!$.trim(日期自)=''| |!$.trim(日期至)=''){
$(“#list”).append(
  • 名称:“++$('#elem1').val()+ “
    度:”+$('#elem2').val()+
    日期从:“+$('#elem3').val()+
    日期至:“+$('#elem4').val()+ “
  • ”; 取消。单击(); }else{} });
    请在这里查看JSFIDLE上的代码:

    • 点击“添加另一个”

    注意,它在没有if条件的情况下工作,为什么会发生这种情况?我到处都读过,但我的代码似乎没有错。

    首先,您必须在实际单击“保存”按钮时获取值,而不是在之前,因为这样值将始终是空字符串

    var save = $("<input type='submit' value='Save' />").on('click', function () {
        var name     = $("#elem1").val();
        var degree   = $("#elem2").val();
        var dateFrom = $("#elem3").val();
        var dateTo   = $("#elem4").val();
    
        if (!($.trim(name) == '' || $.trim(degree) == '' || $.trim(dateFrom) == '' || $.trim(dateTo) == '')) {
            console.log('test')
            $("#list").append("<li>Name1: " + $('#elem1').val() +
                "<br>Name2: " + $('#elem2').val() +
                "<br>Name3: " + $('#elem3').val() +
                "<br>Name4: " + $('#elem4').val() +
                "</li>");
            cancel.click();
        } else {
            console.log('no')
        }
    });
    
    或者使用

    if (!$.trim(name)=='' && !$.trim(degree)=='' && !$.trim(dateFrom)=='' ... etc
    

    您希望得到什么
    !$。trim(name)=''
    要做什么?你在哪里定义
    名称
    学位
    日期
    日期
    ?@Elclans是的,我正在测试这是否是失败的原因,忘了删除它,谢谢你的帮助remind@DavidThomas请在此处查看完整的代码:它们的定义如下var name=$(“#elem1”).val();
    if (!$.trim(name)=='' && !$.trim(degree)=='' && !$.trim(dateFrom)=='' ... etc