我使用以下代码将一个变量从Java类传递到Web视图:
web.loadUrl("javascript:window.onload = function(){setValue(\""+ amount1 +"\");};");并使用Java Script代码:
function setValue(amount1)
{
myValue = amount1;
document.getElementById("amount").value = myValue;
}现在我只想在一个名为setValue的函数中传递2个变量
有什么想法吗?
发布于 2012-08-06 15:45:19
从表面上看,我会说它就像
web.loadUrl("javascript:window.onload = function(){setValue(\""+ amount1 +"\",\""+ amount2 +"\");};");和
function setValue(amount1, amount2)
{
myValue1 = amount1;
myValue2 = amount2;
document.getElementById("amount1").value = myValue1;
document.getElementById("amount2").value = myValue2;
}但是如果你能多解释一下你在做什么,我们也许能提供一个更好的解决方案。
发布于 2012-08-06 15:44:59
web.loadUrl("javascript:window.onload = function(){setValue(\""+ amount1 +"\",\""+ amount2 +"\");};");
function setValue(amount1, amount2)
{
myValue = amount1;
document.getElementById("amount").value = myValue;
}请告诉我它能不能用。
发布于 2012-08-06 15:56:33
如果你正在沿着这条路走,尽管我相信对于你正在做的事情有更好的解决方案……最好发送一个对象,其中包含您希望设置的所有键和值:
setValue({amount1:'amount1', amount2:'amount2'});这种结构比定义sperate变量更具可扩展性。您所需要做的就是确保您的键通过某种标准化的命名约定绑定到它们的目的地输入,并且您可以使用这样的函数:
function(obj){
var i, elm;
for( i in obj ) {
if ( (elm = document.getElementById(i)) ) {
elm.value = obj[i];
}
}
}所谓标准化命名习惯,我的意思是你的键名与它们的目的地输入的键名相匹配。因此,在目标页面上有两个输入,一个是id="amount1“,另一个是id="amount2”。另外请记住,如果你发送的是“数量”,我猜它们是数字的。如果是这样,您不需要将它们作为字符串发送,这意味着您可以避免\“转义”。
web.loadUrl(
"javascript:window.onload = function(){setValue({amount1:123, amount2:5});};"
);https://stackoverflow.com/questions/11824239
复制相似问题