目标:当用户输入输入框中的任何内容时,它将打开一个新窗口并向其附加& yuri = 0。
当前代码:
$(function() {
$('.baseUrl').click( function() {
window.location = $(this).attr('href') + $('.appendUrl').val() + '&yuri=0';
return false;
});
});
HTML:
<input type="text" class="appendUrl" /><br>
<a href="http://" class="baseUrl">Click Here</a>
现在它在同一个窗口打开,&amp;和= 0没有正确显示
任何见解都会很棒。
答案 0 :(得分:2)
如果您想要一个新窗口,请尝试window.open()
method而不是设置window.location
:
$(function() {
$('.baseUrl').click(function() {
window.open($(this).attr('href') + $('.appendUrl').val() + '?yuri=0', 'newwinnamehere');
return false;
});
});
(真的很简化)演示:http://jsfiddle.net/qzfsK/1
另请注意,您要在末尾添加的位应以?
而不是&
开头 - 除非用户已输入?
- 所以您真的应该拥有if
测试以检查:
var url = $('.appendUrl').val();
window.open($(this).attr('href') + url + (url.indexOf('?') != -1 ? '&' : '?') + 'yuri=0', "newwinname");
答案 1 :(得分:0)
请改用以下内容:
window.open(URL);
答案 2 :(得分:0)
它似乎在jsfiddle中正常工作: http://jsfiddle.net/gcskm/
看起来您正在运行的错误是“&amp;”。 &安培;仅适用于在第一个之后添加到URL的值。对于你想要的第一个“?”。所以你需要检测是否已经存在至少一个变量。如果是这样,请使用“&amp;”否则使用“?”。