【问题标题】:How do I pass a variable from JavaScript (Google Maps API) to my Form Input如何将变量从 JavaScript (Google Maps API) 传递到我的表单输入
【发布时间】:2010-03-04 16:54:33
【问题描述】:

可能有一些类似的问题,但我看不到任何真正解决我问题的东西。我想将 JavaScript 中变量的内容传递给 PHP 变量或 html 表单值。

干杯,知道如何做到这两点会很有帮助。

【问题讨论】:

    标签: php javascript forms variables


    【解决方案1】:

    在文档中乱扔 ID 可能会导致问题。仅在真正需要时才应使用 ID。

    为什么不使用 DOM Level 0 表单集合呢?

    <form name="myForm">
        <input name="myInput" type="hidden" />
    </form>
    
    <script type="text/javascript">
        var foo = 42;
        document.forms["myForm"].elements["myInput"].value = foo;
    </script>
    

    【讨论】:

    • 会出现什么样的问题?我总是通过 ID 引用我的元素
    • 在所有东西上打上 ID 可能会增加您最终在页面上出现重复 ID 的可能性(想想包括、Ajax 等)。虽然标签确实需要其相应输入元素上的 ID 才能正常工作,但这确实应该是一种边缘情况。在我看来,当您可以通过表单集合访问它时,没有理由将 ID 放在隐藏的表单字段中。
    【解决方案2】:

    要将 Javascript 变量保存到 html 表单元素中,我会使用 DOM:

      //your target html form element must have a unique ID
      var input_element = document.getElementById('unique_id');
      input_element.value = google_maps_api_variable;
    

    就是这样!

    【讨论】:

      【解决方案3】:

      您可以使用 ajax,获取/发布对 php 脚本的请求,以便 php 可以保存该值,尽管我没有使用 Google Maps API。 This answer should help you on DevShed

      【讨论】:

        【解决方案4】:

        您可以在表单中使用隐藏字段。

        <input type="hidden" id="testField" />
        

        用变量的值填充隐藏字段的值,提交时它应该在那里:

        var variableWithData = 42; //get this from somewhere...
        document.getElementById('testField').value = variableWithData;
        

        【讨论】:

          猜你喜欢
          • 2016-01-26
          • 1970-01-01
          • 2012-09-22
          • 2010-11-28
          • 2016-01-13
          • 2011-07-14
          • 2013-11-07
          • 1970-01-01
          • 2016-11-09
          相关资源
          最近更新 更多