我对网络开发很新。我在register.php中有一个寄存器模式,它能够从提交按钮返回一个检查函数,以提交API调用。
但是当我从索引页面运行它时,似乎没有调用该函数。
的header.php
<?php
include ('includes/login.php');
include ('includes/register.php');
?>
register.php
<button class="regsubmit" type="submit" style="float:left;" id="submitButton" onclick="return chk()">Submit</button>
<button class="regcancel" type="button" id="cancelButton"
onclick="window.location='#';return false;">Cancel</button>
</form>
</div>
</div>
</div>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function chk() {
var fname=document.getElementById('fname').value;
var lname=document.getElementById('lname').value;
var emailAddress = document.getElementById('emailAddress').value;
var bdayMonth = document.getElementById('bdayMonth').value;
var bdayDay = document.getElementById('bdayDay').value;
var bdayYear = document.getElementById('bdayYear').value;
var regPassword = document.getElementById('regPassword').value;
var confirmPassword = document.getElementById('confirmPassword').value;
var gender = document.getElementById('gender').value;
var dataString='fname='+ fname+'&lname='+lname+'&emailAddress='+emailAddress+'&bdayMonth='+bdayMonth+'&bdayDay='+bdayDay+'&bdayYear='+bdayYear+'&confirmPassword='+confirmPassword+'®Password='+regPassword+'&gender='+gender;
$.ajax({
type:"post",
url: "processRegister.php",
data:dataString,
cache:false,
success: function(data){
if (/^\s*SUCCESS\s*$/.test(data)) {
window.location = '<?php echo $base_url; ?>index.php?success=true';
}
else{
alert(data);
}
}
});
return false;
}
</script>
编辑:我在函数开始时运行了一个alert()并尝试再次运行我的索引,警报能够显示但不能显示该函数。
答案 0 :(得分:0)
我会检查以确保在运行该函数之前已加载页面。
window.onload = function() {
//code that runs after document is loaded.
}
答案 1 :(得分:0)
感谢您的答案,但最终能够在确保按照上述方式加载所有内容后解决问题。在通过警告检查该功能正在运行后,我得出结论,这是我的ajax错误。好像它无法访问我的processRegister.php,它位于我的包含文件夹中,必须正确链接它并且一切都很好。另一种方法是将我的processRegister.php移到文件夹之外。