在JSP中访问HTML标记中的javascript变量

时间:2013-12-18 05:45:13

标签: javascript html jsp

我有一个要求,我需要用js变量设置html输入标签id。

示例:

<input type='text' id='(here I need js variable)'/>

我知道通过

创建整个元素可以做到这一点
document.createElement('div name');

我可以附加到div,但我想以一种简单的方式。

如果它是Java变量,那么我可以像

那样做
<%String myVar = "txtId"%>
<input type='text' id='<%= myVar%>'/>

有没有最简单的方法将js变量放在html标签中?

更新:

感谢答案的人,我知道我们可以创建任意数量的输入元素并附加到父元素。而且我们可以通过标签名称获取元素,并可以为这些元素设置id。但我的问题是,有没有办法使用(或)放置(或)在html标记中插入js变量就像我们可以插入java一样html标记中的变量,如上所示。

<script>
var txtId = 'txt1';
</script>
<html>
<input type='text' id='document.write(txtId)'/>
</html>

有没有办法这样做?

4 个答案:

答案 0 :(得分:1)

将id分配给exists元素,如果你想使用java变量作为你的新id,你可以使用像this这样的jstl标签

var inputs = document.getElementsByTagName("input");
for(var i = 0 ; i<inputs.length ; i++){
    inputs[i].id = "newIdWhatYouWant";
}
<input type='text' class="name"/>

答案 1 :(得分:0)

你可以使用attr() jQuery函数并设置你喜欢的任何字符串。所以在行动中:

    var str="newId"
    $('name_or_#id_or_.class').attr('id',str)

答案 2 :(得分:0)

我认为this会对你有帮助。

如果您遇到任何问题,请告诉我。

OR

您可以动态创建整个控件并设置所有数据,请参阅this链接。 这非常有帮助。

我试过这个,你将拥有现有的ID,然后才能更改它的ID:

<script type="text/javascript"> 
 function addName()
 {
     var k ='add';

    document.getElementById('txttt').id = k;
    //document.getElementById('two').value = 'hi'

    var srchdata = document.getElementById(k).id;    
    alert(srchdata);
 } 
</script>

<body onload="addName()">

如果您的数据是动态的,那么可能会出现一些问题。 我使用alert来显示文本框的新ID。

如果你想要其他方式然后告诉我怎么样? 这可能会出现什么问题?

答案 3 :(得分:0)

你能用这样的东西吗?

<script>
    var a = "some_id";
    document.write("<input type='text' id='"+a+"' />");
</script>

http://jsfiddle.net/9DAE4/