Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “提交”按钮在引导联系人宿舍中不起作用_Javascript_Php_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Javascript “提交”按钮在引导联系人宿舍中不起作用

Javascript “提交”按钮在引导联系人宿舍中不起作用,javascript,php,jquery,html,twitter-bootstrap,Javascript,Php,Jquery,Html,Twitter Bootstrap,我有html,js和php文件的联系形式,但由于某种原因,形式是不响应,不发送电子邮件。 谢谢你的帮助 JS/HTML $(文档).ready(函数(){ $(“#联系表格[type='submit']”)。单击(功能(e){ e、 预防默认值(); //获取联系人表单的输入字段值 var user_name=$('input[name=name]')。val(); var user_email=$('input[name=email address]')。val(); var user_com

我有html,js和php文件的联系形式,但由于某种原因,形式是不响应,不发送电子邮件。 谢谢你的帮助

JS/HTML

$(文档).ready(函数(){
$(“#联系表格[type='submit']”)。单击(功能(e){
e、 预防默认值();
//获取联系人表单的输入字段值
var user_name=$('input[name=name]')。val();
var user_email=$('input[name=email address]')。val();
var user_company=$('input[name=company name]')。val();
var user_subject=$('input[name=subject]')。val();
var user_message=$('textarea[name=message]')。val();
//要发送到服务器的数据
post_数据={
“用户名”:用户名,
“用户电子邮件”:用户电子邮件,
“用户公司”:用户公司,
“用户主题”:用户主题,
“userMessage”:用户消息
};
//Ajax将数据发布到服务器
$.post('/php/contact me.php',post_数据,函数(响应){
//从服务器加载json数据并输出消息
如果(response.type==“error”){
输出=“”+response.text+”

”; }否则{ 输出=“”+response.text+”

”; //之后,将重置所有字段 $('#联系人表单输入').val(''); $(“#联系方式textarea”).val(“”); } $(“#答案”).hide().html(输出).fadeIn(); }“json”); }); //重置并隐藏.keyup()上的所有消息 $(“#联系人表单输入,#联系人表单文本区域”).keyup(函数(){ $(“#答案”).fadeOut(); }); });

发送我的消息>
这是php文件

<?php
if($_POST) {

    $to_Email = "email@gmyemail; // Write your email here

    // Use PHP To Detect An Ajax Request
    if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {

        // Exit script for the JSON data
        $output = json_encode(
        array(
            'type'=> 'error',
            'text' => 'Request must come from Ajax'
        ));

        die($output);
    }

    // Checking if the $_POST vars well provided, Exit if there is one missing
    if(!isset($_POST["userName"]) || !isset($_POST["userEmail"]) || !isset($_POST["userSubject"]) || !isset($_POST["userMessage"])) {

        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> Input fields are empty!'));
        die($output);
    }

    // PHP validation for the fields required
    if(empty($_POST["userName"])) {
        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> We are sorry but your name is too short or not specified.'));
        die($output);
    }

    if(!filter_var($_POST["userEmail"], FILTER_VALIDATE_EMAIL)) {
        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> Please enter a valid email address.'));
        die($output);
    }
    // PHP validation for the fields required
    if(empty($_POST["userCompany"])) {
        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> We are sorry but your name is too short or not specified.'));
        die($output);
    }
    // To avoid the spammy bots, you can change the value of the minimum characters required. Here it's <20
    if(strlen($_POST["userMessage"])<20) {
        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> Too short message! Take your time and write a few words.'));
        die($output);
    }

    // Proceed with PHP email
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type:text/html;charset=UTF-8' . "\r\n";
    $headers .= 'From: My website' . "\r\n";
    $headers .= 'Reply-To: '.$_POST["userEmail"]."\r\n";

    'X-Mailer: PHP/' . phpversion();

    // Body of the Email received in your Mailbox
    $emailcontent = 'Hey! You have received a new message from the visitor <strong>'.$_POST["userName"].'</strong><br/><br/>'. "\r\n" .
                'His message: <br/> <em>'.$_POST["userMessage"].'</em><br/><br/>'. "\r\n" .
                '<strong>Feel free to contact '.$_POST["userName"].' via email at : '.$_POST["userEmail"].'</strong>' . "\r\n" ;

    $Mailsending = @mail($to_Email, $_POST["userSubject"], $emailcontent, $headers);

    if(!$Mailsending) {

        //If mail couldn't be sent output error. Check your PHP email configuration (if it ever happens)
        $output = json_encode(array('type'=>'error', 'text' => '<i class="icon ion-close-round"></i> Oops! Looks like something went wrong, please check your information one more time.'));
        die($output);

    } else {
        $output = json_encode(array('type'=>'message', 'text' => '<i class="icon ion-checkmark-round"></i> Hello '.$_POST["userName"] .', Your message has been sent, we will get back to you asap !'));
        die($output);
    }
}
?>

您的PHP代码中似乎有语法错误

$to_Email = "email@gmyemail; // Write your email here
它应该改为
$to_Email=”email@gmyemail"; // 在此处写下您的电子邮件

顺便说一句,如果不是问题,请启用PHP调试模式并检查错误日志。这可能会帮助您找到问题。

如果我添加jQuery并将其更改为
。在表单的(“提交”
,它会工作

$(文档).ready(函数(){
$(“#联系表格”)。在(“提交”上,功能(e){
e、 预防默认值();
//获取联系人表单的输入字段值
var user_name=$('input[name=name]')。val();
var user_email=$('input[name=email address]')。val();
var user_company=$('input[name=company name]')。val();
var user_subject=$('input[name=subject]')。val();
var user_message=$('textarea[name=message]')。val();
//要发送到服务器的数据
post_数据={
“用户名”:用户名,
“用户电子邮件”:用户电子邮件,
“用户公司”:用户公司,
“用户主题”:用户主题,
“userMessage”:用户消息
};
//Ajax将数据发布到服务器
$.post('/php/contact me.php',post_数据,函数(响应){
//从服务器加载json数据并输出消息
如果(response.type==“error”){
输出=“”+response.text+”

”; }否则{ 输出=“”+response.text+”

”; //之后,将重置所有字段 $('#联系人表单输入').val(''); $(“#联系方式textarea”).val(“”); } $(“#答案”).hide().html(输出).fadeIn(); }“json”); }); //重置并隐藏.keyup()上的所有消息 $(“#联系人表单输入,#联系人表单文本区域”).keyup(函数(){ $(“#答案”).fadeOut(); }); });

发送我的消息>

错误:
$to\u电子邮件="email@gmyemail;//在此处写电子邮件
需要更多基本的调试细节。请求是否在开发工具网络中发出?引发了任何错误?您是否实现了错误处理?请花些时间阅读我建议的内容以获得答案。首先,确保您进入了jquery click事件。您还应该使用$(“”)。on('click',function(){});接下来,确保进入PHP文件并且ajax请求有效。查找最佳实践。只需回显测试字符串并逐段构建即可。我将使用
$(“#contact form”)。在(“提交”,function(e){e.preventDefault()
谢谢,但是已经尝试过了,在提交新闻或输入电子邮件时,联系人表单仍然没有响应不是问题(我更改了它),表单在提交按钮点击或输入时甚至没有响应谢谢你的帮助,我错过了现在包含js验证表单但没有连接到php,你知道可能是什么原因吗,我在“网络”选项卡中检查了路径及其工作外观。如果你在我的示例中查看“网络”选项卡,你会看到SO阻止提交,但帖子是hAppening我在我的网站和nginx上查看了网络下显示的错误:HTTP/1.1 405不允许服务器:nginx/1.10.0(Ubuntu)日期:2017年4月10日星期一22:25:13 GMT内容类型:文本/html内容长度:584连接:保持活动状态。您能告诉我如何修复,我也在使用Digital Ocean server。谢谢