我有以下网站,该网站会回拨到其他网域。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Example Entry Form </title>
<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script>
<script type="text/javascript">
function getParameters(){
// login
//window.showModalDialog('http://localhost:8080/test/login/check.mvc','','dialogWidth:500px; dialogHeight:350px; resizable:no; unandorned:yes; status:no; ');
//get data
$.getJSON('http://localhost:8080/test/secure/profile/services/export/getuser.mvc?callback=?',function(res){
alert('Your name is '+res.lname);
$('#lastname').val(res.lname);
$('#firstname').val(res.fname);
$('#club').val(res.club);
$('#phone').val(res.phone);
$('#mobile').val(res.mobile);
$('#mail').val(res.email);
$('#street_nr').val(res.streetNr);
$('#zip_city').val(res.zip + " " + res.city);
$('#birthday').val(res.birthday);
})
.error(function(){
alert("Error");
})
.complete(function(){
alert("Complete");
});
alert("Script End!");
}
</script>
</head>
<body >
<h1>Entry Form</h1>
<table>
<tr>
<td style="width:400px;">
<form action="save.php" id="FormName">
<table>
<tr>
<td>Lastname:</td>
<td><input type="text" id="lastname"/></td>
</tr><tr>
<td>Firstname:</td>
<td><input type="text" id="firstname"/></td>
</tr><tr>
<td>Club:</td>
<td><input type="text" id="club"/></td>
</tr><tr>
<td>Mobile:</td>
<td><input type="text" id="mobile"/></td>
</tr><tr>
<td>Telephone:</td>
<td><input type="text" id="phone"/></td>
</tr><tr>
<td>eMail:</td>
<td><input type="text" id="mail"/></td>
</tr><tr>
<td>Street+Nr:</td>
<td><input type="text" id="street_nr"/></td>
</tr><tr>
<td>ZIP+City:</td>
<td><input type="text" id="zip_city"/></td>
</tr><tr>
<td>Birthday:</td>
<td><input type="text" id="birthday"/></td>
</tr><tr>
<td> </td>
<td><button type="submit">Send Form</button>
</tr>
</table>
</form>
</td>
<td valign="top">
<a href="" onclick="getParameters();"><img src="script/pic.png" alt="Get Data"/></a>
</td>
</tr>
</table>
</body>
</html>
除了两个主要问题外,所述脚本工作正常:
为什么呢?我该如何解决这个问题?
答案 0 :(得分:0)
尝试onclick="return getParameters();"
并将alert
替换为return false;
(或者是真的吗?)
或将a
标记替换为span
。或者将其完全删除,并将onclick
添加到img
。
现在发生的是您启动异步请求并继续执行点击链接时通常会执行的操作。
答案 1 :(得分:0)
您的网页正在重定向,因为您的代码有一个空的href,而且您的功能并未阻止您的网页重定向。
它与警报一起使用,因为警报会阻止窗口重定向,直到您按下确定。
正如迈克尔建议尝试使用return false。
但是使用onClick是一种不好的做法。
或者你可以使用jQuery bind绑定click处理程序(这是一种最佳实践)。
像这样更新您的HTML:
<td valign="top">
<a href='#' id='someButton'><img src="script/pic.png" alt="Get Data" /></a>
</td>
然后在脚本标记中,执行以下操作:
$('#someButton').bind('click', getParameters);
并在您的函数中执行此操作:
function getParameters(e){
..... // your code here
e.stopPropagation();
e.preventDefault();'
}