Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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 jqueryajax表单没有';行不通_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript jqueryajax表单没有';行不通

Javascript jqueryajax表单没有';行不通,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我尝试了许多方法来创建一个简单的jQueryAjax表单,但不知道为什么它不提交和/或返回通知 这是我的密码: Javascript ... <script type="text/javascript" src="assets/js/jquery1.11/jquery-1.11.0.min.js"></script> ... $('#form_signup').submit(function(event) { event.preventDefault();

我尝试了许多方法来创建一个简单的jQueryAjax表单,但不知道为什么它不提交和/或返回通知

这是我的密码:

Javascript

...
<script type="text/javascript" src="assets/js/jquery1.11/jquery-1.11.0.min.js"></script>
...

$('#form_signup').submit(function(event) {
    event.preventDefault();
    $.ajax({
        type: 'POST',
        url: 'signup.php',
        data: $(this).serialize(),
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        },
        error: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        }
    });
});
。。。
...
$('#表单_注册')。提交(函数(事件){
event.preventDefault();
$.ajax({
键入:“POST”,
url:'signup.php',
数据:$(this).serialize(),
数据类型:“json”,
成功:功能(数据){
控制台日志(数据);
$('#form_signup_text').html(data.msg);
},
错误:函数(数据){
控制台日志(数据);
$('#form_signup_text').html(data.msg);
}
});
});
HTML

<form id="form_signup" name="form_signup" method="POST">
    <div>
        <input type="email" id="inputEmail1" name="inputEmail1" placeholder="your@email.com">
    </div>
    <div>
        <a type="submit">Sign up!</a>
    </div>
    <div id="form_signup_text">
        <!-- A fantastic notice will be placed here =D -->
    </div>
</form>

注册
PHP


php代码需要回显而不是返回

就这样,

echo json_encode($return)

此外,表单需要一个提交按钮-
标记上的
type=“submit”
不会触发浏览器处理
的功能

最后,您需要确保在正确的时间加载特殊的submit处理程序——如果它包含在页面底部、页脚之前,那么就可以了。但是,您可以通过将其包装为

$(document).ready(function(){
     //[...]
 }); 

php代码需要回显而不是返回

就这样,

echo json_encode($return)

此外,表单需要一个提交按钮-
标记上的
type=“submit”
不会触发浏览器处理
的功能

最后,您需要确保在正确的时间加载特殊的submit处理程序——如果它包含在页面底部、页脚之前,那么就可以了。但是,您可以通过将其包装为

$(document).ready(function(){
     //[...]
 }); 

php代码需要回显而不是返回

就这样,

echo json_encode($return)

此外,表单需要一个提交按钮-
标记上的
type=“submit”
不会触发浏览器处理
的功能

最后,您需要确保在正确的时间加载特殊的submit处理程序——如果它包含在页面底部、页脚之前,那么就可以了。但是,您可以通过将其包装为

$(document).ready(function(){
     //[...]
 }); 

php代码需要回显而不是返回

就这样,

echo json_encode($return)

此外,表单需要一个提交按钮-
标记上的
type=“submit”
不会触发浏览器处理
的功能

最后,您需要确保在正确的时间加载特殊的submit处理程序——如果它包含在页面底部、页脚之前,那么就可以了。但是,您可以通过将其包装为

$(document).ready(function(){
     //[...]
 }); 
您的a
type=“submit”
不需要作为输入吗?或者按钮

您的a
type=“submit”
不需要作为输入吗?或者按钮

您的a
type=“submit”
不需要作为输入吗?或者按钮

您的a
type=“submit”
不需要作为输入吗?或者“ajax”函数中的按钮(此)不是表单。 所以,试试看:

$('#form_signup').submit(function(event) {
    event.preventDefault();
    var $this = $(this);
    $.ajax({
        type: 'POST',
        url: 'signup.php',
        data: $this.serialize(),
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        },
        error: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        }
    });
});
我承认我没有检查代码的其余部分,我很确定这就是问题所在

当然,如果问题仍然存在,只需“f12”并检查控制台和网络中的服务器请求和头,确保所有参数都存在

希望对

$(此)中的“ajax”函数不是表单。 所以,试试看:

$('#form_signup').submit(function(event) {
    event.preventDefault();
    var $this = $(this);
    $.ajax({
        type: 'POST',
        url: 'signup.php',
        data: $this.serialize(),
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        },
        error: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        }
    });
});
我承认我没有检查代码的其余部分,我很确定这就是问题所在

当然,如果问题仍然存在,只需“f12”并检查控制台和网络中的服务器请求和头,确保所有参数都存在

希望对

$(此)中的“ajax”函数不是表单。 所以,试试看:

$('#form_signup').submit(function(event) {
    event.preventDefault();
    var $this = $(this);
    $.ajax({
        type: 'POST',
        url: 'signup.php',
        data: $this.serialize(),
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        },
        error: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        }
    });
});
我承认我没有检查代码的其余部分,我很确定这就是问题所在

当然,如果问题仍然存在,只需“f12”并检查控制台和网络中的服务器请求和头,确保所有参数都存在

希望对

$(此)中的“ajax”函数不是表单。 所以,试试看:

$('#form_signup').submit(function(event) {
    event.preventDefault();
    var $this = $(this);
    $.ajax({
        type: 'POST',
        url: 'signup.php',
        data: $this.serialize(),
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        },
        error: function (data) {
            console.log(data);
            $('#form_signup_text').html(data.msg);
        }
    });
});
我承认我没有检查代码的其余部分,我很确定这就是问题所在

当然,如果问题仍然存在,只需“f12”并检查控制台和网络中的服务器请求和头,确保所有参数都存在


希望有帮助

问题在你的表格中

<form id="form_signup" name="form_signup" method="POST">
    <div>
        <input type="email" id="inputEmail1" name="inputEmail1" placeholder="your@email.com">
    </div>
    <div>
        <input type="submit" name="submit" value="Submit">
    </div>
    <div id="form_signup_text">
        <!-- A fantastic notice will be placed here =D -->
    </div>
</form>

问题出在你的表格上

<form id="form_signup" name="form_signup" method="POST">
    <div>
        <input type="email" id="inputEmail1" name="inputEmail1" placeholder="your@email.com">
    </div>
    <div>
        <input type="submit" name="submit" value="Submit">
    </div>
    <div id="form_signup_text">
        <!-- A fantastic notice will be placed here =D -->
    </div>
</form>

问题出在你的表格上

<form id="form_signup" name="form_signup" method="POST">
    <div>
        <input type="email" id="inputEmail1" name="inputEmail1" placeholder="your@email.com">
    </div>
    <div>
        <input type="submit" name="submit" value="Submit">
    </div>
    <div id="form_signup_text">
        <!-- A fantastic notice will be placed here =D -->
    </div>
</form>

问题出在你的表格上

<form id="form_signup" name="form_signup" method="POST">
    <div>
        <input type="email" id="inputEmail1" name="inputEmail1" placeholder="your@email.com">
    </div>
    <div>
        <input type="submit" name="submit" value="Submit">
    </div>
    <div id="form_signup_text">
        <!-- A fantastic notice will be placed here =D -->
    </div>
</form>

你需要做三件事

首先,将jQuery代码包装在
$(document).ready()函数中

<script type="text/javascript">
    $(document).ready(function()
    {
        $('#form_signup').submit(function(event) {
            event.preventDefault();
            $.ajax({
                type: 'POST',
                url: 'signup.php',
                data: $(this).serialize(),
                dataType: 'json',
                success: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                },
                error: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                }
            });
        });
    });
</script>
第三个
回显
结果,因为您正在使用AJAX提交表单
返回
不会有任何效果

<?php

$our_mail =    "our@email.com";
$subject  =    "Wohoo! A new signup!";
$email    =    $_POST['inputEmail1'];

$return = array();
$return['msg'] = 'Thank you!';
$return['error'] = false;

if(preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)){

    $message = "Yesss!! We receive a new signup!
    E-mail: $email
    ";
    mail($our_mail, $subject, $message);
}
else {
    $return['error'] = true;
    $return['msg'] .= 'Something is wrong... snifff...';
}

echo json_encode($return);exit;

你需要做三件事

首先,将jQuery代码包装在
$(document).ready()函数中

<script type="text/javascript">
    $(document).ready(function()
    {
        $('#form_signup').submit(function(event) {
            event.preventDefault();
            $.ajax({
                type: 'POST',
                url: 'signup.php',
                data: $(this).serialize(),
                dataType: 'json',
                success: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                },
                error: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                }
            });
        });
    });
</script>
第三个
回显
结果,因为您正在使用AJAX提交表单
返回
不会有任何效果

<?php

$our_mail =    "our@email.com";
$subject  =    "Wohoo! A new signup!";
$email    =    $_POST['inputEmail1'];

$return = array();
$return['msg'] = 'Thank you!';
$return['error'] = false;

if(preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)){

    $message = "Yesss!! We receive a new signup!
    E-mail: $email
    ";
    mail($our_mail, $subject, $message);
}
else {
    $return['error'] = true;
    $return['msg'] .= 'Something is wrong... snifff...';
}

echo json_encode($return);exit;

你需要做三件事

首先,将jQuery代码包装在
$(document).ready()函数中

<script type="text/javascript">
    $(document).ready(function()
    {
        $('#form_signup').submit(function(event) {
            event.preventDefault();
            $.ajax({
                type: 'POST',
                url: 'signup.php',
                data: $(this).serialize(),
                dataType: 'json',
                success: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                },
                error: function (data) {
                    console.log(data);
                    $('#form_signup_text').html(data.msg);
                }
            });
        });
    });
</script>