Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 如何使用Ajax在提交后显示新的输入数据_Php_Html_Ajax - Fatal编程技术网

Php 如何使用Ajax在提交后显示新的输入数据

Php 如何使用Ajax在提交后显示新的输入数据,php,html,ajax,Php,Html,Ajax,请帮我摆脱困境!。 提交后,新的输入变量不会显示在div中 这是我的剧本: $('#addVariable').validate({ rules: { variable: {required:true}} , submitHandler: function(form) { var id = $('input[name="compid"]').val(); var name = $('input

请帮我摆脱困境!。 提交后,新的输入变量不会显示在div中

这是我的剧本:

    $('#addVariable').validate({
        rules: { variable: {required:true}} ,
        submitHandler: function(form) {
                var id = $('input[name="compid"]').val();
                var name = $('input[name="variable"]').val();
                $.ajax({
                    url:"http://localhost/scorecard/wp-
    content/themes/twentyseventeen/ajax/submit.php?function=addVariable",
                    type:"post",
                    data:{ company_id:id , variable_name:name},
                        success: function(data){
                            if(name === " "){
                                alert(data);
                            }
                            else{
                            alert('success');
                            $('input[name="variable"]').val(' ')
                            }
                        }
                });
        }   
     });
这是我的表格代码:

    <form id="addVariable">
                    <input type="hidden" id="hidId" name="compid">
                    <input type="text" class="variable" name="variable" 
    value="">
                    <input type="submit" class="btnVar" value="" onclick="">

                    <!--<input type="button" class="remove" value="-">-->
                  </form>

我认为问题出在以下部分

variable_name:name},
success: function(data){
if(name === " "){
alert(data);
}
如果我是正确的,那么这里调用的闭包不能访问name变量,因为它位于不同的作用域中

如果要使用name变量,请将其作为参数发送或绑定到函数。尝试:

success: function(data){
    if(name === " "){
        alert(data);
    }
    else{
        alert('success');
        $('input[name="variable"]').val(' ')
    }
}.bind(name) // bind name to the function
  • 根据您的代码,您希望在ajax成功响应后,将输入值
    更改为空字符串。对吗
  • 无论如何,您可以从控制台调试它,以查看是否确实获得了成功的响应

    success: function(data){
       if(name === " "){
          //alert(data);
          console.log('data ', data); 
       }
       else{
         //alert('success');
         console.log('success'); 
         $('input[name="variable"]').val(' ')  
       }
    }
    
  • 请尝试以下代码:

    if(name){
    $('input[name="variable"]').val(name)
    }
    else{
    alert('name is not available');
    }
    

    您收到响应了吗?我实际上在前面使用了响应,但仍然不走运。您的ajax调用无法以提交的形式工作。请检查它是否工作。你能告诉我什么是错误,或者你在警报中得到了什么,或者使用调试器检查脚本中的变量吗?我对输入为空没有问题。我的问题是在我提交变量后,它将出现在我的div中。我的代码没有问题,我想要的是在我提交变量后,它将显示在我的div标记中我输入的新变量对不起,你的
    标记在哪里,它是否在
    之外,试着使用元素的id怎么样?