2012-08-13 68 views
1

我有一个输入文本,其值为“5 + 3”我相信这是一个纯字符串,是否有将它解析为(8)alert()函数? 5 + 3是一个文本框的值,不会被另一个文本框分隔。有没有什么JavaScript函数可以处理这个?在文本域中添加值

+0

输入文本还可以包含其他什么东西? – Dogbert 2012-08-13 05:36:57

回答

1

eval()可以执行字符串作为JavaScript语句:

<input type="text" id="addNums" /> 
var addNumsInput = document.getElementById('addNums'), 
    val = addNumsInput.value; 

alert(eval(val)); 

小提琴:http://jsfiddle.net/LAwm3/

仅供参考eval is evilhttps://www.google.com/#hl=en&sugexp=les%3B&gs_nf=1&tok=WiRGhtSngs9KeYHImoAsFQ&cp=6&gs_id=3e&xhr=t&q=eval+is+evil&pf=p&output=search&sclient=psy-ab&oq=eval+i&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=2aae9199cf6ab275&biw=1920&bih=989

+0

''? – RobG 2012-08-13 05:39:40

+0

@RobG - 是的,我刚刚发现使用'this'会混淆新的JS开发者=),但更好的解决方案 – Paul 2012-08-13 05:41:39

+0

谢谢它帮助我很多! – leojarina 2012-08-13 05:53:56

1

您可以使用eval()

alert(eval("5+3")); // alerts 8 
+0

我认为这正是我写的。 – RobG 2012-08-13 05:40:21

相关问题