如何用0替换空表单字段以防止JQuery中出现NaN?

如何用0替换空表单字段以防止JQuery中出现NaN?,jquery,Jquery,HTML 如果我将输入字段留空,则得到NAN。如果输入字段为空,我必须更改什么以将其替换为0 捕获表单提交。查找所有输入并检查文本是否为空,如果为空,请添加一个“0” var costs = $("#costs"); var c = parseFloat(costs.val().replace(",",".")); //germany ;) costs.text(c); 我不知道您的用户情况,但是,您可以只对NaN进行简单检查,然后将其设置为0 像这样: $('#form').submit(f

HTML


如果我将输入字段留空,则得到NAN。如果输入字段为空,我必须更改什么以将其替换为0

捕获表单提交。查找所有输入并检查文本是否为空,如果为空,请添加一个“0”

var costs = $("#costs");
var c = parseFloat(costs.val().replace(",",".")); //germany ;)
costs.text(c);

我不知道您的用户情况,但是,您可以只对
NaN
进行简单检查,然后将其设置为0

像这样:

$('#form').submit(function(){
  var theInputs = $(this).find('input');
  $.each(theInputs, function(i,obj){
    if($(obj).text() == ''){ //we could have checked for empty. I checked for no string.
      $(obj).text('0');
      return true; //let the form continue with the submit.
    }
  });
});
Html:


如果要将NaN替换为0,只需编写以下内容:

var val = costs.val().replace(",","."),
c = isNaN(val) ? 0 : parseFloat(val);

谢谢你的努力,嗯,JSFIDLE上的代码只在第二次尝试后才替换NaN…奇怪。。。
$("#set").click(function(){
    var costs = $("#costs");
    var c = parseFloat(costs.val().replace(",",".")); //germany ;)
    alert(c);
    if(!isNaN(c)) {
        costs.val(c);
    } else {
        costs.val("0");
    }
});
​
<input type='text' id='costs' value='100' size='3'></input>
<button id="set">Set</button>
$("#set").click(function(){
    var costs = $("#costs");
    var c = parseFloat(costs.val().replace(",",".")); //germany ;)
    costs.val((isNaN(c) ? "0" : c));
});
var val = costs.val().replace(",","."),
c = isNaN(val) ? 0 : parseFloat(val);
var c = parseFloat(costs.val().replace(",",".")) || 0;