将javascript中的Array和String附加到变量中

时间:2013-07-17 19:01:23

标签: javascript jquery html

如何在Javascript中对数组和字符串运行getelementbyid,并将其设置为非空的变量,例如foo [“dog”] x = getelementbyid(foo [0] +“food”),现在x = dogfood

<script>
  var myrows = new Array();   

  $(function() {
    $("#check").click(function(){
      myrows=[]
      $(".head input:checked").not("#selectall").each(function(){
        myrows.push($(this).parent().attr("id"));
      }).value;

      alert(myrows);
    });   

    $("#subbut").click(function(){
      var x;
      var r=confirm("Are you sure you?");

      if (r==true){
        x="You pressed OK!";
      }else{
        Object.cancel;
      }

      **alert( myrows[0]+"servername" + " before" );

      for(var i =0; i< myrows.length; i++){
        alert(myrows[i] +"rootname" +" in loop" );
        var j= document.getElementById(xmyrows[i] +"rootname" );
        alert(j+" after call" );
        var y = document.getElementById(myrows[i]+"servername");

        document.getElementById("id_rootname").value= j.textContent;
        document.getElementById("id_servername").value= y.textContent ;**

        $.post($("#forms").attr("action"), $("#forms").serialize(), function(data) {

        });
      }
    });
  });

</script>

2 个答案:

答案 0 :(得分:1)

我真的不明白数组/字符串问题是什么,但是从评论看来,你似乎正在寻找一种方法来进行动态表单提交:Dan Davis提供了解决方案的基本要点{{3 - 对于您需要动态提交的每个表单(无需刷新),创建一个iframe,然后将相应表单的target属性设置为该iframe的ID:

<form id="form1" target="#form1Response">
    ...
</form>
<form id="form2" target="#form2Response">
    ...
</form>
<iframe id="#form1Response"></iframe>
<iframe id="#form2Response"></iframe>

然后,您需要将服务器响应回调附加到各种iframe的load事件中。请注意:即使是空的iframe也会触发加载事件,因此您需要在回调中过滤误报(空iframe内容)。

另一个警告:如果您的服务器使用JSON响应,IE将提示用户在脚本可以拦截之前将响应保存到文件系统 - 因此请确保将MIME类型标题设置为text / plain或text / html以使其生成确保响应已加载到iframe的DOM中。

答案 1 :(得分:0)

这可能发生,因为如果字符串与数字连接,java脚本有时会允许空格。尝试删除空格并创建一个字符串,然后将其传递给getElementById。

示例:

var str = myrows[i]+"rootname";

str = str.replace(/^\s+|\s+$/g,"");

var str1 = myrows[i]+"servername";

str1 = str1.replace(/^\s+|\s+$/g,"");
var j= document.getElementById(str);
var y = document.getElementById(str1);

document.getElementById("id_rootname").value= j.textContent;

document.getElementById("id_servername").value= y.textContent ;

}