簡體   English   中英

Javascript-通過Get方法從表單獲取價值

[英]Javascript - Get Value from form by Get method

我無法將來自client.html表單輸入中的值打印到server.html中的表。 它必須使用Javascript並通過使用GET方法編寫。

client.html:

<form action="server.html" method="get">
<p>
 Name: 
 <input type="text" id="txtname" name="txtname" />    
</p>
</form>

server.html:

<head>
<script type="text/javascript">

    function getUrlVars() {
        var vars = {};
        var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
            function (m, key, value) {
                vars[key] = value;
            });
        return vars;
    }
var name= unescape(getUrlVars()[document.getElementById("txtname")]);
document.getElementById("idname").innerHTML=name;
</script>
</head>
<body>
<table>
<tr>
    <td>Name:</td>
    <td id="idname"></td>
</tr>
</table>
<body>

這里有幾件事:

您正在嘗試將#idnameinnerHTML設置為hoten.value ,這是未定義的。

getUrlVars()[docuemnt.getElementById("txtname")]也不會驗證。 您可以簡單地使用getUrlVars().txtname來獲取查詢參數。

您還試圖在處理DOM之前設置值-JS無法設置元素的值,因為尚未將其放置在頁面上。

修復錯誤並將JS移動到body標簽的末尾可解決此問題:

<head>
</head>
<body>
<table>
  <tr>
    <td>Name:</td>
    <td id="idname"></td>
  </tr>
</table>
<script type="text/javascript">
  function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
      function (m, key, value) {
        vars[key] = value;
      });
    return vars;
  }

  var name= unescape(getUrlVars().txtname);
  document.getElementById("idname").innerHTML = name;
</script>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM