我的js脚本有问题,因为两个按钮都会打开相同的网站1.我不知道为什么?
有人可以帮我解决这个问题吗?
$('#trackAndTraceForm').submit(function(event) {
var val = $('input[name="numer"]', this).val();
elementClicked = $(event.target);
var typeBtn = elementClicked.attr('name');
if (typeBtn == 'spr') {
if (val.substring(0, 1) != '0') {
//console.log('nie zero');
var action = 'http://92.43.115.24:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx';
$(this).attr('action', action);
} else {
var action = 'http://apollo.loxx.pl:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx';
$(this).attr('action', action);
}
} else if (typeBtn == 'pod') {
var action = 'http://www.loxx.pl/loxx_it/loxxwarpod.php';
$(this).attr('action', action);
} else {
//do nothing;
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="trackAndTraceForm" target="_blank" class="form-horizontal" enctype="application/x-www-form-urlencoded" method="get" action="http://apollo.loxx.pl:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx">
<span>Track and Trace:</span>
<input type="text" value="" name="numer" placeholder="Numer listu przewozowego" />
<input type="submit" name="spr" class="btn btn-sm btn-primary" value="Sprawdz" />
<input type="submit" name="pod" class="btn btn-sm btn-primary" value="POD" />
</form>
&#13;
如果我单击POD按钮,则动作与Sprawdz的URL相同
http://apollo.loxx.pl:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx?numer=0317037128&pod=POD
答案 0 :(得分:0)
您需要阻止原始事件触发默认提交操作。您可以通过调用 event.preventDefault();
。
这是您的代码需要的样子:
$('#trackAndTraceForm').submit(function(event) {
event.preventDefault(); // <-- the important bit
// ...
if (typeBtn == 'spr') {
// ...
} else if (typeBtn == 'pod') {
// ...
}
});
击> <击> 撞击>
在调用submit事件后,您似乎无法更改事件的action
属性。
您需要做的是为每个按钮添加事件监听器,更改action
属性,然后提交表单:
function changeFormAction(newAction) {
$('#trackAndTraceForm').attr('action', newAction);
}
$('input[name="spr"]')
.click(function(e) {
e.preventDefault();
var value = $('input[name="numer"]').val();
var newAction = value.startsWith('0') ?
'http://apollo.loxx.pl:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx' : 'http://92.43.115.24:8080/ApolloWebBooking/WebBooking/StatusyPrzesylki.aspx';
changeFormAction(newAction);
$('#trackAndTraceForm').submit();
}
$('input[name="pod"]')
.click(function(e) {
e.preventDefault();
changeFormAction('http://www.loxx.pl/loxx_it/loxxwarpod.php');
$('#trackAndTraceForm').submit();
}