【问题标题】:Access javascript variable in HTML tags in a JSP访问 JSP 中 HTML 标记中的 javascript 变量
【发布时间】:2013-12-18 05:45:13
【问题描述】:

我有一个需求,我需要用 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>

有没有办法做到这一点?

【问题讨论】:

  • 来自服务器端的动态 id 最适合最动态的东西。你能进一步阐述你的要求吗?您的 html 元素是如何生成的?

标签: javascript html jsp


【解决方案1】:

为存在的元素分配id,如果你想使用java变量作为你的新id,你可以使用jstl标签比如this

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我不想创建元素,而是通过js变量设置html标签本身的id。
    • 那么我什么时候要求创建一个变量??
    【解决方案3】:

    你能用这样的东西吗?

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

    http://jsfiddle.net/9DAE4/

    【讨论】:

      【解决方案4】:

      我认为this 会帮助你。

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

      您可以动态创建整个控件并设置所有数据,请参阅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。

      如果您想要其他方式,请告诉我如何? 这会出现什么问题?

      【讨论】:

      • 你想要像&lt;input type='text' id='txt1'/&gt; 这样的东西,下次它会给&lt;input type='text' id='txt2'/&gt; 吗?或者是其他东西 ?给我一些想法..
      • 假设我在 js 文件中有一个 js 变量“var fld = 'txt1'”,我想在 html 标记中使用该 js 变量,例如: ,有什么办法吗?我知道我们可以使用 document.getElementByTagName('input');但除此之外有没有办法将 js 变量放入 html 标签中?
      • 查看答案中的更新。
      • 感谢您的回答,我对我的问题进行了更新,请检查。
      • 好的,我会尝试做类似的事情,完成后我会发给你。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      相关资源
      最近更新 更多