Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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
Php 提交操作前发布文本输入不一致_Php_Jquery_Forms_Submit - Fatal编程技术网

Php 提交操作前发布文本输入不一致

Php 提交操作前发布文本输入不一致,php,jquery,forms,submit,Php,Jquery,Forms,Submit,我正在尝试创建一个同意书,并让用户输入他们的姓名。当按下submit按钮时,我将他们的文本输入发布到一个PHP文件中,该文件会将他们的名字邮寄给我(我知道有更简单的方法可以做到这一点)。然而,这种形式的工作不一致;有时记录用户名,有时不记录。在我的电脑上,它通常都能工作,所以我很难解决这个问题 代码如下: //submitlink is a dummy link $("#submitlink").click(function(event){ event.preventDefault();

我正在尝试创建一个同意书,并让用户输入他们的姓名。当按下submit按钮时,我将他们的文本输入发布到一个PHP文件中,该文件会将他们的名字邮寄给我(我知道有更简单的方法可以做到这一点)。然而,这种形式的工作不一致;有时记录用户名,有时不记录。在我的电脑上,它通常都能工作,所以我很难解决这个问题

代码如下:

//submitlink is a dummy link
$("#submitlink").click(function(event){
    event.preventDefault();
    var name1val = $("#name1").val();
    if (!(name1val == '')){
        $.post("mail.php",
               { name : name1val, time : curr_time} 
        );
        //agree is a <form id="agree" action="nextpage.php">
        $("#agree").submit();
    else{
       //display error message
    }
 }
//submitlink是一个虚拟链接
$(“#提交链接”)。单击(函数(事件){
event.preventDefault();
var name1val=$(“#name1”).val();
如果(!(name1val==''){
$.post(“mail.php”,
{name:name1val,time:curr_time}
);
//同意是一种选择
$(“#同意”)。提交();
否则{
//显示错误消息
}
}
而mail.php是:

<?php

$name = $_POST['name'];
$text = $name . " has begun the survey at " . date("F j, Y, g:i a");
$result = mail('myemail', 'User has begun survey', $text);
?>


您能想出此代码无法工作的原因吗?如何确保在用户单击提交按钮后可靠地发布数据?

您正在提交第二个表单
$(“#同意”)。提交()在确认AJAX调用成功之前。;
有时会起作用;通常不会。将
submit
调用放入成功处理程序:

$.post("mail.php",
    { name : name1val, time : curr_time},
    function(){
        $("#agree").submit();
    }
);

这将在AJAX请求完成后调用代码。

您缺少一个右括号和一个圆括号。如果(name1val!='')右括号在哪里?那么
呢。单击(function(){…})
?抱歉-右括号在正确的代码中。我复制并粘贴了相关部分