javascript - 通过 Ajax 从对话框发送 php 生成的表单数据

标签 javascript php jquery ajax

大家好,对此有什么帮助吗?我有一个由单击按钮触发的对话框,该对话框调用我的 php 脚本来生成需要填写和提交的表单。我想通过 Ajax 进行发送和确认。我已经重新编码和研究了几天,但 StackExchange 或其他网站上没有任何帮助我的东西。 代码如下:

对话框片段;

$k('#CreateTable').click(function(e){
          e.preventDefault();
         var Call =  $k('#CreateTable').attr('value');//.attr('id');

         var util = $k(this).attr('id');//.attr('id');

         $k('#dialog').dialog({
             autoOpen: false,
            title: 'Running Utility for: '+Call,
            modal: true,
            width: 450,
            close: function(event, ui) {
             $k("#dialog").dialog('destroy');//event.target
            }//END CLOSE

        }).dialog('open');
        var utility = { 'utility' : util };
        $k.ajax({
                  type: "post",
                  url: "inc/runUtilities.php",
                  dataType: "html",
                  data: utility,
                  success: function(data) {
                        $k('#DlgTxt').html(data).fadeIn('slow');
                  }
        });
            //return false;
        });//END DIALOG

PHP 片段;

$show .=  "<form id='cContact' name='cContact' method='post'>";
    // action='".$_SERVER['REQUEST_URI']."'
    $show .= '<table align="center" width="425" border="0">
       ';

        $query = "SHOW COLUMNS FROM `".$_SESSION['WorkTable']."`"; 
        if($output = mysqli_query($this->MySQLCxn->MySQLCxn, $query))
        {
            $columns = array();
            while($row = mysqli_fetch_assoc($output))
            {
                if($row['Field'] == 'id') {}
                else
               $show .= '
                <tr>
                  <td width="175"><div align="right">'.@$row['Field'].':</div></td>
                  <td width="155">
                    <input type="text" name="'.@$row['Field'].'" placeholder="'.@$row['Field'].'" />
                  </td>
                  <td width="115">&nbsp;</td>
                </tr>
                ';
            }
        }


    $show .= '
        <tr>
          <td>Submit </td><td>

          <button type="button" id="cContactSbmt" onclick="doSubmitForm(this); return false;" name="cContactSbmt" value="cContactSbmt">Create contact</button>


          <!-- <input type="submit" class="button" value="Save" name="submit"> -->
          </td> <td>&nbsp;</td>
        </tr>
      </table></form>
      <div id="thanks">

      </div>
       ';

我当前正在使用的 JQuery 试图让它调用我的 php 来处理正在发送的表单。

var $j = jQuery.noConflict(); 

(function($j){
 $j(document).ready(function() {
    $j("#cContactSbmt").click(function(e){//'click',
         e.preventDefault();
             alert('cContactSbmt clicked...');
         $j.ajax ({
          type:"POST",
          url:"inc/runUtilities.php",
          data: $j(this).serialize(),
          success: function(msg){
            $j("#thanks").html(msg)
            $j(this).modal('hide');
          },
          error: function(){
            alert("failure");
          }
        });
      });


});

})($j);

由于某种原因,它无法正常工作,控制台中也没有显示任何内容。 再次:我有一个对话框,通过 Ajax 填充一个 php,该 php 需要提交到另一个 php 脚本来处理它并回复对话框。 有什么建议吗?

最佳答案

你的 php 没有输出(“回显”)任何东西。您需要echo任何您想要返回到ajax调用的内容。

更新:加上调试尝试在每个成功回调中记录返回的数据,例如:

success: function(data) {
    console.log(data);
}

关于javascript - 通过 Ajax 从对话框发送 php 生成的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28088841/

相关文章:

javascript - Windows Phone 8 Web 浏览器不运行 javascript

javascript - 如何在 React Native 中存储状态值?

php - array_chunk 根据键值添加文本并输出到文件

jquery - 如何使用 jQuery 获取点击元素的 ID

jquery - 导航栏中的(右)幻灯片溢出主体问题

javascript - 使用 jquery/javascript 合并字符串中的值

javascript - $http().使用 "?"传递额外的 GET 参数时获取 SyntaxError

javascript - PHP 关闭子窗口后刷新父窗口

php - MySQL 存储过程终止超过 10 秒的连接

javascript - 如何自动设置文本区域高度