从url查询和调用函数填充文本框

时间:2017-10-14 08:39:18

标签: javascript

<input type="text" id="tnum" maxlength="50" placeholder="Enter Your Tracking ID" /> 
<input class="btn" type="button" value="TRACK" onclick="doTrack()" />
<div id="YQContainer"></div>

基本上,我有一个页面可以跟踪我的客户的包。我希望能够在他们的电子邮件中向他们发送一个链接,该链接将自动从链接中跟踪他们的包裹。 (他们不必输入跟踪ID并在他们转到我的跟踪页面时点击跟踪)

example.com/track?tnum=3298439857

这就是我用来跟踪包裹的内容。

https://www.17track.net/en/externalcall/single

3 个答案:

答案 0 :(得分:0)

基本思路如下:

  1. 等待页面加载
  2. 解析URL并提取所需的查询参数
  3. 设置表单元素的值
  4. 调用doTrack()函数
  5. &#13;
    &#13;
    // Handy function to parse the URL and get a map of the query parameters
    function parseQueryParameters(url) {
      var qp = {};
      if (!url) {
        return qp;
      }
      var queryString = url.split('?')[1];
      if (!queryString) {
        return qp;
      }
    
      return queryString.split('&')
        .reduce(function(m, d) {
          var splits = d.split('=');
          var key = splits[0];
          var value = splits[1];
          if (key && value) {
            m[key] = value;
          }
          return m;
        }, qp);
    
    }
    
    //Wait for page to load
    window.onload = function() {
      //Extract tnum query parameter
      var qp = parseQueryParameters(window.location.href);
      //If no parameter is provided, do nothing
      if (!qp.tnum) return;
      //Set the value of the form element
      document.getElementById("tnum").value = qp.tnum;
      // Call doTrack
      doTrack();
    
    }
    
    //Temporary doTrack function - remove when integrating ;)
    function doTrack() {
      console.log(document.getElementById("tnum").value)
    }
    &#13;
    <input type="text" id="tnum" maxlength="50" placeholder="Enter Your Tracking ID" />
    <input class="btn" type="button" value="TRACK" onclick="doTrack()" />
    <div id="YQContainer"></div>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

<html>
<head>
<script>
    function setURL(){
    var dt_value = document.getElementById("tnum").value;
    //just test here ..what is coming..
    alert(dt_value );
    var sjdurl =  "example.com/track?tnum="+dt_value;

popup = window.open(sjdurl,"popup"," menubar =0,toolbar =0,location=0, height=900, width=1000"); 
popup.window.moveTo(950,150); 

    }
</script>
</head>
<body>
  <input type="Text" id="tnum" maxlength="25" size="25"/>
  <input type='button' onclick='setURL()' value='SUBMIT'> 
</body>
</html>

答案 2 :(得分:0)

function doTrack(tnum) {
  var trackNumber = tnum;
  window.open("example.com/track?tnum="+trackNumber);
}

$(".btn").on('click',function(e) {
  e.preventDefault();
  var tnum = $('#tnum').val();
  if (tnum!="") {
    doTrack(tnum);
  } else {
    return false;
  }
});