我真心向您道歉,因为这是我第一次参加AJAX。简而言之,我在网页上有两种形式。单击一个按钮,即可提交第一个表格。在向第一个表单的数据库服务器发出xmlhtt请求以验证记录是否存在之前,我使用onclick事件提交第二个表单BUT,然后再提交第二个表单。我尝试通过Javascript调用PHP函数,但未成功。然后我就告诉AJAX就是这样。但是我不知道那是哪种动物。因此,我遵循了一个在线教程,并提出了以下建议:
<script>
function verypost() {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest(); }
else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var gigs = this.responseText;
if (gigs!="")
{ document.getElementById("ukpform").submit(); }
else { alert ("Very sorry , we encountered a slight error in uploading your ad. Can you please try again? Many thanks."); }
}
else {alert("We are sorry your ad did not post successfully. It may be due to javascript being disabled in your browser. Please can you try again making sure javascript is enabled on your computer. Thanks"); }
};
xmlhttp.open("GET", "postchecker.php?gt="+<?php echo $SRID ?>, true);
xmlhttp.send();
}
</script>
<?php
$q = intval($_GET['q']);
$result; $db="freemar5_fmsdb";
$link = mysql_connect('localhost', 'fmxxxx','hhdhdhfhdh');
if (! $link) die(mysql_error());
mysql_select_db($db , $link) or die("Couldn't open $db: ".mysql_error());
$result = mysql_query( "SELECT ID FROM msadtable WHERE ItemNo='$q'" ) or die("SELECT Error: ".mysql_error());
$row = mysql_fetch_array($result) ;
$id = $row['ID'];
echo $id;
mysql_close($link);
?>
<input id="ukp" name="ukp" type="button" class="telbt" value="->> PAY and SUBMIT <<-" onclick="verypost();" >
该表单未提交,实际上可以确定存在错误,但我无法弄清楚。任何想法将不胜感激。 谢谢你的耐心。
答案 0 :(得分:0)
嗨,各位大师们。
我认为我的问题不受欢迎,所以我开始考虑其他选择,我成功了。我已经能够使用PHP会话变量实现我的目的。我在登录页面上设置了一个会话变量,如果该会话变量在数据库中找到从第一个表单发布的数据,则将由一个小的PHP代码进行更新/覆盖。然后,我在表单上添加了一个小脚本,该脚本在提交第二个表单之前检查Session变量是否已更新。如果未更新,则意味着第一个表单中的数据未成功插入数据库中,因此不会提交第二个表单。
无论如何,谢谢大家。
答案 1 :(得分:-1)
请使用jQuery而不是JavaScript。
$.ajax({
type: "POST",
url: 'postchecker.php',
data: {name: 'abhi'},
success: function(data){
alert(data);
}
});