遇到一个困难:input value 取最新值,判断是否为空,请教指导!

背景:html输入规格
<div class="input-group"  >
    <span class="input-group-addon">规格</span> 
    <input type="text" class="form-control"  id="goodsspec1" name="goodsspec1"  value="{$arrServiceInfo['spec1']}"  >
</div>
需求:当goodsspec1值非空时,运行规格。请指点!

问题在取值,现在取值是原来的值,不是最新的值,所以运行不对。

if($("#goodsspec1").val()!==''){     //尝试过多次,没成功    
            $('#editWorkForm').scojs_valid({
                rules: {
                    goodsspec1:['not_empty'],
                    goodsprice1:['not_empty','decimal',{regex: /^[1-9]\d*$/ }],
                    goodspur1:['not_empty','digit'],
                    goodsdate1:['not_empty','digit',{regex: /^\d+$/}]
                },
                messages: {
                    goodsspec1: {
                        not_empty: "请输入数量"
                    },
                    goodsprice1: {
                        not_empty: "请输入您的报价",
                        decimal:'请输入有效金额',
                        regex:'请输入1≤整数'
                    },
                    goodsdate1: {
                        not_empty: "请输入货期",
                        decimal:'请输入有效的货期',
                        regex:'请输入0≤整数'
                    },
                    goodspur1: {
                        not_empty: "请输入纯度",
                        decimal:'请输入有效的纯度',
                        regex:'请输入1≤整数'
                    }
                },    
                wrapper:'.form-group1'
                ,onSuccess: function(response, validator, $form) {
                    tipsUser(response.data,response.status);
                    if(response.url){
                    window.location.href=response.url;
                    }
                }    
            })
}    

你现在取值的操作应该不是在input值更改后获取到的,应该在input值改变的时候再去触发获取的方法,放在input的change事件里执行,

<input type="text" id="goodsspec1"  onchange='func()'>
func(){
  if($("#goodsspec1").val()!==''){ 
    //xxx
  }
}

input上有个change事件;当有变化的时候再去判断;或者你input输入过之后,有个确定按钮,点击之后再去判断

当输入框blur失焦时触发你要进行的操作,或者在change改变事件执行