在javascript中输出所有表单变量(类似于php print_r())

时间:2011-03-03 00:53:59

标签: javascript internet-explorer variables

我只是想在警告框中输出所有表单名称及其相关变量,以帮助我调试一些东西。我只是使用firebug或者其他什么,但问题只存在于IE上(在这种情况下,IE开发人员工具似乎不太有帮助。)

我猜我只需要一个for循环,但我不确定如何为它提供一个表单键数组..

谢谢, 约翰。

2 个答案:

答案 0 :(得分:2)

使用JSON + jquery:

var formObject = {};

$('form input, form textarea, form select').each(function(){
  formObject[$(this).attr('name')] = $(this).val();
});

alert(JSON.stringify(formObject));

修改 在行动 http://jsfiddle.net/RaPVf/

注意:对于ie 7及以下,你需要包含JSON2.js

答案 1 :(得分:1)

我接受了这个问题,以便有趣地浏览DOM。检查出来并尝试^^

<script type="text/javascript">
  var msg = "";
  var myNode = document.firstChild;
  var breaker = myNode.nodeName;
  var flag = true;
  while(flag)
  {
    msg += myNode.nodeName + " - " + myNode.nodeValue + "; ";
    if(myNode.hasChildNodes())
    {
        myNode = myNode.firstChild;
    }
    else
    {
        while(myNode.nextSibling == null && flag)
        {
            myNode = myNode.parentNode;
            if(myNode.nodeName == breaker)
                flag = false;
        }
        if(flag)
           myNode = myNode.nextSibling;   
    }
  }
  alert(msg);
  </script>

(粘贴到页面末尾)