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

Access javascript variable in HTML tags in a JSP

本文关键字:javascript 变量 JSP HTML 访问      更新时间:2023-09-26

我有一个需求,需要用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变量,就像我们在html标签上插入java变量一样,就像我上面展示的那样。

比如

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

有办法这样做吗?

将id分配给exist元素,如果你想使用java变量作为你的新id,你可以使用jstl标签,比如这个

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

您可以使用attr()jQuery函数来设置任何您喜欢的字符串。因此:

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

你能用这样的东西吗?

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

http://jsfiddle.net/9DAE4/

我认为这将对您有所帮助。

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

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

我试过这个,你会有现有的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。

如果你想要其他方式,告诉我怎么做?这会产生什么问题?