我正在尝试制作一个简单的表单和按钮。我已经链接到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)。非常感谢任何帮助,谢谢!
答案 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;
});
答案 3 :(得分:1)
EZPZ!这是一项非常简单的任务。首先,由于您使用jQ建立按钮的点击事件,因此您可以删除属性type="submit"
,或( 推荐 ),在表单提交时创建您的活动。如果是我,我会在表单中使用表单并使用表单提交,这样您就不需要更改按钮type="submit"
和输入键仍然可以在搜索框中用于提交表单。
此外,您正在尝试.text
输入。输入有value
。在jQuery中,您可以通过调用.val()
来获取或设置该值。
代码:
$('#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;