3

我正在使用此代码使用 Javascript 函数设置 HTML 文本框值。但它似乎不起作用。谁能指出,这段代码有什么问题?

Whats your Name?
<input id="name" value="" />

<script type="text/javascript"> 
function setValue(value){
var myValue=value;
document.getElementsById("name").value = myValue;
}
</script>

“价值”来自我的 android java 类使用这些代码

String value = "Isiah";
    WebView web = (WebView) findViewById(R.id.web1);
    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl("file:///android_asset/www/webpage");
    web.loadUrl("javascript:setValue("+ value +")");
4

8 回答 8

7
   function setValue(value) {
    var myValue=value; //unnecessary
    document.getElementById("name").value= myValue;
}

但是正如评论中指出的那样,您需要在代码中的某处调用 setValue(value) 。现在你刚刚定义了这个函数永远不会被调用。

于 2012-08-02T04:14:20.913 回答
1

您可以通过名称访问元素的值:

  document.getElementsByName("textbox1"); // returns a list of elements with name="textbox1"
    document.getElementsByName("textbox1")[0] // returns the first element in DOM with name="textbox1"

所以:

    input name="buttonExecute" onclick="execute(document.getElementsByName('textbox1')[0].value)" type="button" value="Execute" />

或者您为元素分配一个 ID,然后标识它,您可以使用 getElementById 访问它:

    <input name="textbox1" id="textbox1" type="text" />
    <input name="buttonExecute" onclick="execute(document.getElementById('textbox1').value)" type="button" value="Execute" />
于 2012-08-02T04:22:48.327 回答
0

我想你错过了引号,

尝试,

web.loadUrl("javascript:setValue('"+ value +"')");

还要考虑错字。

于 2012-08-02T04:45:38.217 回答
0

您没有将功能链接到任何东西。例如,单击:

<input id="name" value="" onclick="javascript:this.value=12;"/>

替换所需功能的 onclick 属性,无论它做什么(您需要更具体)

此外,没有语言属性(至少不再使用)type="text/javascript"代替

这是一个小提琴:http: //jsfiddle.net/4juEp/

单击输入以查看其工作。

看看这第二把小提琴。http://jsfiddle.net/4juEp/1/

它将隐藏输入中定义的任何内容加载到名称输入。

于 2012-08-02T04:10:43.630 回答
0

你正在使用document.getElementsById("name")它应该是document.getElementById("name")

不是Elements_Element

于 2012-08-02T04:14:29.010 回答
0

首先,您的 javascript 函数中有一个错字,即您使用getElementsByIdgetElementById

要在页面加载时设置文本框的值,我建议您使用替代方法

<body onload="setValue('yourValueToSet');">

<!-- Your usual html code in the html file -->

</body>
于 2012-08-02T04:36:08.483 回答
0

看一下这个:

<body onload="setvalue($value);">
Whats your Name?<input id="name" name="name" value=""/>
<script type="text/javascript">
function setValue(value){
document.{formname}.name.value = value;}</script>
于 2014-04-02T00:45:25.867 回答
-1

不是元素 是元素

你应该使用document.getElementById('object-id');

于 2014-03-23T10:03:09.910 回答