Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 带有ajax:JS的表单未执行_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 带有ajax:JS的表单未执行

Javascript 带有ajax:JS的表单未执行,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我在一个网站的一个页面上遇到了一个大问题:Javascript不想被执行 我试着从另一个网站复制和粘贴,我已经做了它的完美作品。。。但不是在这里。也许你能帮我弄明白为什么它不起作用 我尝试了很多方法,这里似乎没有ajax。 这里有一个例子,当我试图发送邮件时,我没有得到任何提示,而是{reponse:mail sent corretly!},邮件被正确发送。 提交按钮工作!页面正在刷新,所以我认为js没有被执行。我希望在不刷新页面的情况下获得信息,就像普通的ajax请求一样 我试着把剧本和图书馆

我在一个网站的一个页面上遇到了一个大问题:Javascript不想被执行

我试着从另一个网站复制和粘贴,我已经做了它的完美作品。。。但不是在这里。也许你能帮我弄明白为什么它不起作用

我尝试了很多方法,这里似乎没有ajax。 这里有一个例子,当我试图发送邮件时,我没有得到任何提示,而是{reponse:mail sent corretly!},邮件被正确发送。 提交按钮工作!页面正在刷新,所以我认为js没有被执行。我希望在不刷新页面的情况下获得信息,就像普通的ajax请求一样

我试着把剧本和图书馆的链接放在脑子里,没有任何改变

这是我的密码:

 <--! Some HTML -->
        <form class="form-horizontal myForm" method="post" action="contact.php">
            <div class="form-group col-md-6">
                <input type="text" class="form-control" name="prenom" id="prenom" placeholder="First Name" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required>
            </div>
            <div class="form-group col-md-6" style="margin-left:14px">
                <input type="text" class="form-control" name="nom" id="nom" placeholder="Name" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required>
            </div>
            <div class="form-group col-md-6">
                <input type="email" class="form-control" name="email" id="email" placeholder="Mail" required >
            </div>
            <div class="form-group col-md-6" style="margin-left:14px">
                <input type="text" class="form-control" name="objet" id="objet" placeholder="Object" pattern="[a-zA-ZÀ-ÿ._-\s]{1,30}" required >
            </div>
            <div class="form-group col-md-12">
                <input type="text" class="form-control" name="message" id="message" placeholder="Your message" required>
            </div>
            <div class="form-group">    
                <label for="captcha" class="col-xs-12 col-sm-2 control-label">Captcha</label>
                    <div class="col-xs-6 col-sm-2">
                        <input type="text" class="form-control" id="captcha" name="captcha" required>
                    </div>
                    <div class="col-xs-2 col-sm-1">
                        <img src="form.php">
                    </div>
            </div>
             <div class="form-group col-md-12">
            <button type="submit" class="btn btn-default">Submit</button>
            </div>
            <div class="the-return">  </div>
        </form>
<--! Some HTML -->

<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script> <!-- Gem jQuery -->
<script>            
$(document).ready(function() {
// On submit
$('.myForm').on('submit', function(e) {
    e.preventDefault(); // Prevent default submit

    var $this = $(this);

    // Getting values
    var name = $('#nom').val();
    var fname = $('#prenom').val();
    var objet = $('#objet').val();
    var mail = $('#email').val();
    var msg = $('#msg').val();

    // Looking for errors
 if(name === '' || fname === '' || objet === '' || mail === '' || msg === '') {
        alert('Les champs doivent êtres remplis');
    } else {
        // Sending Ajax query
        $.ajax({
            url: $this.attr('action'), // form's action
            type: $this.attr('method'), // form's method
            data: $this.serialize(), // Serializing data
            success: function(html) { // php's file response
                alert(html); // Print the result 
            }
        });
    }
});
});
和我的php文件:
session_start();
if(isset($_GET['err']))
{
$reponse = 'Mail not sent corretly!';
echo json_encode(['reponse' => $reponse]);
echo 'An error occurred, please try again             
        <form .... /form>'; //Same form
}
if(isset($_POST["captcha"]) && $_POST["captcha"]!="" && $_SESSION["captcha"]==$_POST["captcha"])
{
    if(isset($_POST["nom"]))
    {
        if(preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['nom'])) 
        {
            if(isset($_POST["prenom"]))
            {
                if (preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['prenom'])) 
                {

                    if(isset($_POST["objet"]))
                    {
                        if (preg_match("/^[a-zA-Z][a-zA-Z]*[a-zA-Z]$/",$_POST['objet'])) 
                        {
                            if(isset($_POST["email"]))
                            {
                                if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/",$_POST['email'])) 
                                {

                                        $passage_ligne = "\r\n";
                                        $emailAdmin = 'benjamin@parisbeaute.fr';

                                        // Subject
                                        $subject = $_POST['objet'];

                                        // Headers
                                        $headers = 'FROM: "'.$_POST['nom'].' '.$_POST['prenom'].'" <'.$_POST['email'].'>'.$passage_ligne;
                                        $headers .= 'MIME-Version: 1.0'.$passage_ligne;
                                        $headers .= 'Content-type: text/html; charset=UTF-8'.$passage_ligne;
                                        $message = $_POST['message'];
                                        // Formulaire


                                        // Fonction mail()
                                        mail($emailAdmin, $subject, $message, $headers);   
                                        echo '<div>Thanks a lot !</div>';
                                        $reponse = 'Mail sent corretly!';
                                        echo json_encode(['reponse' => $reponse]);
                                    }}}}}}}}}
?>

提前谢谢,很抱歉我的英语很差,这不是我的母语,你可以在我的代码中看到

不确定它为什么不起作用,但如果您想使用$.ajax请求发送数据,请坚持单击事件。尝试将代码更改为:

$(document).ready(function() {
// On button click
$('#my_button').on('click', function(e) {


   var $this = $('.myForm');

   // Getting values
   var name = $('#nom').val();
   var fname = $('#prenom').val();
   var objet = $('#objet').val();
   var mail = $('#email').val();
   var msg = $('#msg').val();

 // Looking for errors
 if(name === '' || fname === '' || objet === '' || mail === '' || msg === '')  {
    alert('Les champs doivent êtres remplis');
 } else {
    // Sending Ajax query
    $.ajax({
        url: $this.attr('action'), // form's action
        type: $this.attr('method'), // form's method
        data: $this.serialize(), // Serializing data
        success: function(html) { // php's file response
            alert(html); // Print the result 
        }
    });
 }
});
});
并将按钮类型更改为:

<button type="button" class="btn btn-default" id="my_button">Submit</button>

没有,仍然没有警报,但没有刷新,正如预期的那样;看看你得到了什么我明天大约14小时后会做,今晚我没有任何权限访问我的代码,但我已经检查了控制台,只有main.js中的1个错误,函数MixItUp不能识别为函数,然后我删除了这个函数,{reponse:Mail sent corretly!}仍然显示,并且控制台日志中没有更多错误。这意味着您的js正在执行,即使警报消息没有显示,您仍然可以在成功块中进行另一个样式设置。我尝试了以下操作:$document.readyfunction{alert'test';$'my_button'。单击,functione{alert'test}没有发生任何事情,所以我认为js不会在这个函数中执行