Javascript 表单提交后无法看到成功消息(AngularJS和PHP)
我用AngularJS和PHP构建了一个联系人表单。表单运行良好,我能够接收电子邮件。但是,在表单提交后,我想禁用submit按钮并显示成功消息,反之亦然 我的代码如下:Javascript 表单提交后无法看到成功消息(AngularJS和PHP),javascript,php,angularjs,ajax,Javascript,Php,Angularjs,Ajax,我用AngularJS和PHP构建了一个联系人表单。表单运行良好,我能够接收电子邮件。但是,在表单提交后,我想禁用submit按钮并显示成功消息,反之亦然 我的代码如下: var app = angular.module('myApp', ['jcs-autoValidate']); app.run(['defaultErrorMessageResolver', function(defaultErrorMessageResolver) { default
var app = angular.module('myApp', ['jcs-autoValidate']);
app.run(['defaultErrorMessageResolver',
function(defaultErrorMessageResolver) {
defaultErrorMessageResolver.getErrorMessages().then(function (errorMessages) {
errorMessages['validPhone'] = 'Please enter valid phone number';
});
}]);
app.controller('FormController', function($scope, $http){
$scope.formData = {};
$scope.result = 'hidden'
$scope.submitButtonDisabled = false;
$scope.submitted = false;
$scope.submit = function(help) {
$http({
method : 'POST',
url : 'process.php',
data : $.param($scope.formData),
headers : {'Content-Type': 'application/x-www-form-urlencoded'}
}) .success(function(data) {
console.log(data);
if (data.success) {
$scope.submitButtonDisabled = true;
$scope.resultMessage = data.message;
$scope.result = 'bg-sucess';
} else {
$scope.submitButtonDisabled = false;
$scope.resultMessage = data.message;
$scope.result = 'bg-danger';
}
});
}
});
PHP
共享您正在使用的HTML模板这里是我在JSFIDLE上的HTML,请检查我上面提到的链接,因为您可以现场查看,谢谢您的回复不正确。您可以在控制台中签入。有一个脚本标记。但是,必须有一个JSON响应或JSON字符串,所以您可以在JSON中解析它。您可以详细说明一下,因为我有echo JSON_encode($data);在我的PHP文件中。。。此外,即使表单成功,我们也会将ng绑定为bg danger!你能用你的控制台更新这个问题吗?日志(数据)
?分享你正在使用的HTML模板这里是我在JSFIDLE的HTML,请检查我上面提到的链接,因为你可以现场查看,谢谢你的回答不正确。您可以在控制台中签入。有一个脚本标记。但是,必须有一个JSON响应或JSON字符串,所以您可以在JSON中解析它。您可以详细说明一下,因为我有echo JSON_encode($data);在我的PHP文件中。。。此外,即使表单成功,我们也会将ng绑定为bg danger!您还可以使用控制台.log(数据)
更新问题吗?
<?php
require_once 'phpmailer/PHPMailerAutoload.php';
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['phone']) && isset($_POST['message'])) {
if (empty($_POST['name']) || empty($_POST['email']) || empty($_POST['phone']) || empty($_POST['message'])) {
$data = array('success' => false, 'message' => 'Please the form completely.');
echo json_encode($data);
exit;
}
$mail = new PHPMailer();
$mail->From = $_POST['email'];
$mail->FromName = $_POST['name'];
$mail->AddAddress('xxxx@gmail.com');
$mail->Subject = $_POST['phone'];
$mail->Body = "Name: " . $_POST['name'] . "\r\n\r\nMessage: " . stripslashes($_POST['message']);
if (isset($_POST['ref'])) {
$mail->Body .= "\r\n\r\nRef: " . $_POST['ref'];
}
if(!$mail->send()) {
$data = array('success' => false, 'message' => 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo);
echo json_encode($data);
exit;
}
$data = array('success' => true, 'message' => 'Thank you for contacting us! We will get back to you soon.');
echo json_encode($data);
} else {
$data = array('success' => false, 'message' => 'Please the form completely.');
echo json_encode($data);
}