2 tianguozhiya tianguozhiya 于 2016.09.23 09:16 提问

如何在js中判断获取的当前表单中的值是否为空

获取到了当前的input标签中输入的值,现做了如下判断:

 var oldhtml = element.innerHTML;
        var newobj = document.createElement('input');
        newobj.type = 'text';
        newobj.onblur = function(){
        element.innerHTML = this.value ? this.value : oldhtml;//判断输入的值
        }

如果有输入,则显示输入的值,如果没有,则显示原来的值,但现在如果输入了空字符串,它将记录下的是空值,而且也能保存到数据库,现在想再加一个非空判断,该如何加,求大神指教??

6个回答

showbo
showbo   Ds   Rxr 2016.09.23 09:59
已采纳

    newobj.onblur = function () {
        element.innerHTML = this.value.replace(/\s/g, '') ? this.value : oldhtml;//判断输入的值
    }
tianguozhiya
tianguozhiya 非常感谢,这个就对了,谢谢啦;
大约一年之前 回复
u011249920
u011249920   2016.09.23 09:26

if-else判断不可以么?

tianguozhiya
tianguozhiya 已解决,小弟感激不尽
大约一年之前 回复
sinat_32933119
sinat_32933119   2016.09.23 09:28

//判断value值不是空对象,或者未定义,或者空字符串
if (this.value !== null || this.value !== undefined || this.value !== '') {
//自己的逻辑
}

tianguozhiya
tianguozhiya 已解决,小弟感激不尽;
大约一年之前 回复
w172087242
w172087242   Ds   Rxr 2016.09.23 09:30

假设你的值是value;
1.如果使用jQuery,那么它提供了函数value = $.trim(value);if(value.length ==0){为空的逻辑}
2.如果使用原生的,可以 value = value.replace(/^\s+|\s+$/g, "");if(value.length==0){为空的逻辑}

希望能帮到你....

w172087242
w172087242 回复tianguozhiya: 我的是去前后空格,是可以的,你可能用法有问题
大约一年之前 回复
tianguozhiya
tianguozhiya element.innerHTML = this.value.replace(/\s/g, '') ? this.value : oldhtml;用这个就对了,谢谢
大约一年之前 回复
tianguozhiya
tianguozhiya 好像不能用哎,加进去以后我的js都不起作用了
大约一年之前 回复
u013076997
u013076997   2016.09.23 09:31

是不是应该这样?element.innerHTML = "" != this.value ? this.value : oldhtml;//判断输入的值,如果有其他的判断条件,也在?前面添加就可以了吧

tianguozhiya
tianguozhiya element.innerHTML = this.value.replace(/\s/g, '') ? this.value : oldhtml;用这个解决的,感谢
大约一年之前 回复
tianguozhiya
tianguozhiya 这样好像不行啊,现在的效果是如果输入为空的话,页面上没有显示,但是保存以后数据库和页面上显示的还是原来的值,其实这样就行了,但就是如果输入为空的话,页面上不好看
大约一年之前 回复
seeze
seeze   2016.09.23 09:47

记得有trim函数可以去空格的

tianguozhiya
tianguozhiya 是的,但是我这个要得是如果为空就让他显示原来的值,element.innerHTML = this.value.replace(/\s/g, '') ? this.value : oldhtml;用这个解决的,谢谢
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!