使用javascript进行数字转换的字符串

时间:2015-04-16 13:46:44

标签: javascript html5 javascript-events

这是我的html代码,但问题是,如果我添加两个字符串,它总是将50添加为。

 function add()
  {
   var fname=document.getElementById("fname");
   var lname = document.getElementById("lname");

   var fstring = fname.toString();
   var lstring = lname.toString();

    var fl = fstring.length;
    var ll = lstring.length;  

   var f1 = parseInt(fl,10);
   var l1 = parseInt(ll,10);
  document.getElementById("result").innerHTML = f1 + l1;
   }
</script>

4 个答案:

答案 0 :(得分:2)

因为您没有读取输入值

   var fname=document.getElementById("fname");
   var lname = document.getElementById("lname");

   var fstring = fname.toString();  //<-- turning object to string
   var lstring = lname.toString();  //<-- turning object to string

需要

   var fname=document.getElementById("fname");
   var lname = document.getElementById("lname");

   var fstring = fname.value;  
   var lstring = lname.value; 

答案 1 :(得分:0)

我认为问题在于你正在获取Element本身,而不是给定元素的内容。例如,如果fname是输入,则您需要调用

var fname=document.getElementById("fname").value;

我目前正在猜测的是,在元素上调用toString()会返回类似[object HTMLInputElement]的内容,因此在添加时总是会得到相同的长度。

如果您获得的是值而不是元素,那么您的代码应该按预期工作。

答案 2 :(得分:0)

var fstring = fname.toString();
var lstring = lname.toString();

这会尝试将HTMLElement对象转换为字符串,而您可能需要的是存储在这些输入中的值。

var fstring = fname.value;
var lstring = lname.value;

此外,您不需要这样做:

var fl = fstring.length;
var ll = lstring.length;
var f1 = parseInt(fl,10);
var l1 = parseInt(ll,10);

长度属性已经是一个数字。

如果你想得到这两个名字的总长度,那就做吧 total = fstring.length + lstring.length; 如果你想连接它们,请执行 fullname = fstring + " " + lstring;

最后,不要把这些1和小L放在这样的短变量名中,这可能会让人感到很困惑。

答案 3 :(得分:0)

使用此

&#13;
&#13;
function add(){
var fname=document.getElementById("fname");
   var lname = document.getElementById("lname");

   var fstring = fname.value.toString();
   var lstring = lname.value.toString();
   var fullName = fstring +" "+lstring;
   alert(fullName )
}
&#13;
<input type='text' id='fname'/>
<input type='text' id='lname'/>
<input type='button' id='btnOk' onclick='add()' value='OK'/>
&#13;
&#13;
&#13;