2012-12-21 32 views
1

我有一个输入文本字段和链接,按我想的输入域的这样一个包含值URL链接时:HTML加盟输入textfied值HREF链接被点击时

如果我在文本字段上输入roma我想要转到页面treatment/exportPDF/roma

我的尝试:

<script> 
    function getUsername(){ 
     return $(".username").Text(); 
    } 
</script> 
<div class="container"> 
    <ul> 
     <li> 
      <label class="Paragraph">Select a username</label> 
      <p> 
       <label>Username</label> 
       <input name="username" type="text" class="longInput1"/> 
       <span class="errorMessage"></span> 
      </p> 
      <p> 
       <a class="smallLink" href="<?php echo URL2; ?>Treatment/exportPDF/"> PDF</a> 
      </p> 
      <p> 
       <a class="smallLink" href="">Excel</a> 
      </p> 
     </li> 
    </ul> 
</div> 

所以我怎么能调用函数getUsername()从我HREF?我的脚本也错了吗?

回答

3

尝试

<script> 
    function getURL(){ 
     document.location = "<?php echo URL2; ?>Treatment/exportPDF/"+ $(".username").Text(); 
    } 
</script> 
<div class="container"> 
    <ul> 
     <li> 
      <label class="Paragraph">Select a username</label> 
      <p> 
       <label>Username</label> 
       <input name="username" type="text" class="longInput1"/> 
       <span class="errorMessage"></span> 
      </p> 
      <p> 
       <a class="smallLink" href="javascript:getURL()"> PDF</a> 
      </p> 
      <p> 
       <a class="smallLink" href="">Excel</a> 
      </p> 
     </li> 
    </ul> 
</div> 
+0

它带我到这个URL'http:// localhost/Mar7ba2/Treatment/getURL()' –

+0

我爱你的方式,你会告诉我如何通过URL吗? –

+0

@tottiroma我编辑了答案 – Amber

3

是我的脚本也错了?

$(".username").Text(); 

应该是:

var value = $("input[name='username']").val(); 
window.location = "/treatment/exportPDF/" + value; 

更改HTML到:

<a class="smallLink" href="#" onclick="getUsername()"> PDF</a> 
  • text(几乎)等于innerHTML
  • val等于value
  • .在CSS选择器是一个类选择器。
+0

我怎么能从HTML中调用它? –

+0

你会告诉我,我应该用HTML写什么来从我的脚本调用函数? –

+0

@tottiroma,你可以这样写:' PDF',但你需要用'window.location = ...' – gdoron

2

你想用你的链接的onmousedown,请在href属性的链接,并修改它onclick,像这样:

<a href="<?php echo URL2; ?>Treatment/exportPDF/" onmousedown="this.href = this.href + $('[name=username]').val(); this.onmousedown = '';"> 
+0

它给了我很长的url不包含我的文本字段值 –

+0

那么,你可能已经复制'我的php的东西',纠正了答案,以包含您的原始网址。这应该正常工作。 window.location也是一个有效的解决方案。 –

+0

使用onmousedown而不是onclick是否有缺点?我将在移动/平板电脑友好的网站上使用它。 – John

1

使用此代码在您的脚本中

 <script> 
      function getUsername(){ 
        alert(document.getElementById("username").value) 
       return (document.getElementById("username").value) 
      } 
     </script> 

并给id到文本框

  <input id=="username" name="username" type="text" class="longInput1"/> 
+0

因为我们已经有了一个名字,所以您不必为输入字段提供一个id,请参阅下面的答案。 –