将表单和按钮链接到javascript命令

时间:2015-08-21 21:49:40

标签: javascript jquery html forms

我正在尝试制作一个简单的表单和按钮。我已经链接到JS Fiddle View JS Fiddle here

app.filter('customFilter', function(){
  return function(array, filterArray){
     var ids = [];
     angular.forEach(filterArray, function(val, index) {
        ids.push(val.id);
     }
     return array.filter(function(value){
        return ids.indexOf(value.id) !== -1;
     });
  }
})

我希望能够进入" nba"如果没有引号并单击搜索按钮,则会有一个新窗口生成以下链接http://espn.go.com/nba/statistics。所有网址的第一部分和最后部分都是相同的,它只是改变的中间部分(nba,nfl,mlb)。非常感谢任何帮助,谢谢!

4 个答案:

答案 0 :(得分:2)

$('#WFFsearch').on('click', function () {
    var searchInput = $('#search').val();
    var url = "http://espn.go.com/" + searchInput + "/statistics";
    window.open(url);
});

你需要val()属性,因为输入有问题,而不是text()。 https://jsfiddle.net/1c93pqj0/2/

答案 1 :(得分:2)

你想使用.val()而不是.text(),因为文本获取2个标签<div>here is some text</div>之间的值,而val获取值<input value="some value"/>

答案 2 :(得分:1)

要获取输入字段的值,请使用.val().text()用于DOM元素中的文本。

单击提交按钮默认提交表单,重新加载页面并终止脚本。您需要从事件处理程序return false来阻止此操作。

$('#WFFsearch').on('click', function () {
    var searchInput = $('#search').val();
    var url = "http://espn.go.com/" + searchInput + "/statistics";
    window.open(url);
    return false;
});

DEMO

答案 3 :(得分:1)

EZPZ!这是一项非常简单的任务。首先,由于您使用jQ建立按钮的点击事件,因此您可以删除属性type="submit" 推荐 ),在表单提交时创建您的活动。如果是我,我会在表单中使用表单并使用表单提交,这样您就不需要更改按钮type="submit"输入键仍然可以在搜索框中用于提交表单。

此外,您正在尝试.text输入。输入有value。在jQuery中,您可以通过调用.val()来获取或设置该值。

代码:

&#13;
&#13;
$('#frmGetStats').on('submit', function (e) {
  e.preventDefault();
    var searchInput = $('#search').val(),
      url = "http://espn.go.com/" + searchInput + "/statistics",
      win = window.open(url);
  alert("In this sandbox, new windows don't work. \nHowever you can see the link is \n[" + url + "]");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form id="frmGetStats">
  <input type="text" class="form-control" id="search" placeholder="enter sport">
  <button id="WFFsearch" type="submit">Search</button>
</form>
&#13;
&#13;
&#13;