如何在Jquery Easy UI中使用javascript函数调用php函数

时间:2013-10-16 03:55:47

标签: javascript php jquery jquery-ui

我遇到了在对话框中创建自定义自动编号的问题jquery easy ui ..

我在控制器中有这样的功能..

public function getCode()
{
    if(!isset($_POST))  
        show_404();

    $query = "SELECT MAX(kode_barang) as maxID FROM tb_barang";
    $hasil = mysql_query($query);
    $data  = mysql_fetch_array($hasil);
    $idMax = $data['maxID'];
    $noUrut = (int) substr($idMax, 1, 4);
    $noUrut++;
    $newID = "B" . sprintf("%04s", $noUrut);
    $queryData  = $query->row_array();
    $phpVar     = array( "STATUS" => $newID); 
    echo json_encode ($phpVar) ;    
}

我从视图调用该函数,javascript函数就像这样..

<script> function makeAjaxCall()
{ 
    $.ajax({ 
        type: "post", 
        data: $('#form').serialize(), 
        url: "http://192.168.0.77/ci_jquery/barang/getCode", 
        cache: false,   
        success: function(json){        
        var obj = jQuery.parseJSON(json); 
        var r = obj['STATUS'];
        document.forms["form"]["kode_barang"].value = r;
    } 
});
} 
</script> 

这是我的对话形式。

<div id="dialog-form" class="easyui-dialog" style="width:300px; height:400px; padding: 10px 20px" closed="true" buttons="#dialog-buttons">
    <form id="form" method="post" novalidate>
        <table border="0">
            <tr>
                <div class="form-item">
                <td width="100"><label for="type">Kode Barang </font></td>
                <td><input type="text" name="kode_barang"/></td>
            </tr>
</div>

感谢您的回复和关注。

2 个答案:

答案 0 :(得分:1)

我认为您的getCode()功能失败了。您使用$query作为对象,但它只是一个字符串..

$query = "SELECT MAX(kode_barang) as maxID FROM tb_barang";
$queryData  = $query->row_array();

您应该收到一条错误消息,指出您在非对象上调用row_array()。您应该删除此行,因为它甚至没有被使用。

在将PHP代码与任何其他脚本/函数一起使用之前,您至少应该对其进行测试。这是开发环境中turning error reporting on in PHP的补充,用于显示此类内容。

答案 1 :(得分:1)

试试这个:

You can do this by using jquery Ajax in your javascript function.
Set url parameter in ajax with file and function name.

-

由于