0

我有一个简单的表单,我想提取一个 url 参数并使用该值填充其中一个隐藏字段。

例如,网址是 www.myurltest.html?placement=xyz

这是我的 js 表单代码。当我加载页面时,值 xyz 没有被填充到隐藏字段中。我检查的方式是在页面刷新后,我检查源代码以查看值是否在 html 中。请让我知道出了什么问题,我也不是专业的开发人员,所以这更具挑战性。

 <script>
 function getParameterByName(name)
 {
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.href);
  if(results == null)
     return "";
  else
 return decodeURIComponent(results[1].replace(/\+/g, " "));
 }
 </script>
<form method="post" action="http://xyz.com" >

<ul><li ><label>First Name:</label><input name="firstName" id="firstName" type='text'     value=""  maxlength='255' tabIndex='1' ></li>

<li ><label>Last Name:</label><input name="lastName" id="lastName" type='text' value=""  maxlength='255' tabIndex='2' /></li>

<li  ><label>Email:</label><input name="email" id="email" type='text' value=""  maxlength='255' tabIndex='3' /></li>

<li ><label>Company Name:</label><input name="name" id="name" type='text' value=""  maxlength='255' tabIndex='4' /></li>
<li>
<input type='submit' foo=en_US value='testtest' name='submit' />
</li>  
</ul>

<input type="hidden" name="placement" id="placement" value=""  />

<script type="text/javascript">
document.getElementById("placement").value = getParameterByName("placement");
</script>
</form>
4

1 回答 1

0

该值不会出现在源中。如果您使用 Chrome F12 开发工具,则可以改为检查该值。它似乎对我有用。

<html>
        <head>
            <script type="text/javascript">
                function getParameterByName(name)
                 {
                  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                  var regexS = "[\\?&]" + name + "=([^&#]*)";
                  var regex = new RegExp(regexS);
                  var results = regex.exec(window.location.href);
                  if(results == null)
                     return "";
                  else
                 return decodeURIComponent(results[1].replace(/\+/g, " "));
                 }
            </script>
        </head>
        <body>
            <form method="post" action="http://xyz.com" >
            <ul>
                <li><label>First Name:</label><input name="firstName" id="firstName" type='text'     value=""  maxlength='255' tabIndex='1' ></li>
                <li><label>Last Name:</label><input name="lastName" id="lastName" type='text' value=""  maxlength='255' tabIndex='2' /></li>
                <li><label>Email:</label><input name="email" id="email" type='text' value=""  maxlength='255' tabIndex='3' /></li>
                <li><label>Company Name:</label><input name="name" id="name" type='text' value=""  maxlength='255' tabIndex='4' /></li>
                <li><input type='submit' foo=en_US value='testtest' name='submit' /></li>
            </ul>
            <input type="hidden" name="placement" id="placement" value=""  />
            <script type="text/javascript">
                document.getElementById("placement").value = getParameterByName("placement");
            </script>
            </form>
        </body>
    </html>
于 2013-08-15T19:05:17.200 回答