1

我对 jQuery 和 AJAX 技术非常陌生。我正在尝试创建一个表单,该表单将在数据库中插入值而不刷新页面。大多数代码都按预期工作。但是其中有两种情况没有按预期工作。

  1. 我正在通过复选框获取值。当我只选择一个复选框时,它可以工作,但是当我选择多个复选框时,数据库中存储的值作为数组。
  2. 一旦表单数据成功提交但它不起作用,我想显示一条消息。

请在下面找到相同的相应代码。

查询:

$('#add').click(function(){
    var domain_type = $('#domain').val();
    var domain_zone = $('#domain_zone').val();
    var client_name = $('#client_name').val();
    //var language[] = "";
    var lang = new Array();
    if(language==1){
        //alert("You select one language"); 
        valid = true;
        lang = "English";
    }else{
        //alert("You select multiple language");

        var i =0;
        $.each($('input[name=lang]:checked'), function(){
            lang.push($(this).val());
        });             
        var count = lang.length;
        if(count ==1){
            alert("You need to select two languages");
            var valid = false;
        }else if(count>2){
            alert("You can select only two languages");
            var valid = false;
        }else{
            valid = true;   
        }
    }

        var formMsge = $('#formStatus');
        $('#formStatus').html('<img src="./img/loader.gif"> Please wait while adding the data in database.');
        $.ajax({
            type: "POST",
            url: "./test/test.php",
            data: {domain_type:domain_type, domain_zone:domain_zone, client_name:client_name, 'lang[]':lang},
            success:function(conf){
                $('#formStatus').ajaxComplete(
                    function(event,request){
                        if(conf=="OK"){
                            $('#formSuccess').show();
                            $('#addClient').hide();
                        }else{
                            $('#formError').show();
                            $('#forError').text("Please try again");
                        }
                    }
                );
            }                   
        });


    return false;
});

测试.php:

include('../../classes/access_user/all.class.inc.php');
echo $workstream->addClient()

;

php类文件:

public function addClient(){ $domain_type = isset($_POST['domain_type'])?$_POST['domain_type']:''; $domain_zone = isset($_POST['domain_zone'])?$_POST['domain_zone']:''; $client_name = isset($_POST['client_name'])?$_POST['client_name']:''; $lang = isset($_POST['lang'])?$_POST['lang']:''; $add_by = 'Robindra Singha'; $add_on = date("Y-m-d"); if(isset($domain_type) || isset($domain_zone) || isset($client_name) || isset($lang)){ $sql = "INSERT INTO client_list (domain_type_id, client_name, domain_zone, language, add_on, add_by, last_update_on, last_update_by) VALUES('$domain_type','$client_name','$domain_zone','$lang','$add_on','$add_by','$add_on','$add_by')"; $res = mysql_query($sql) or die(mysql_error()); if(mysql_inserted_id() != 0){ $msg = "OK"; }else{ $msg = "System face an issue while adding client details!"; } }else{ $msg = "System face an issue while adding client details, please try again!"; } return $msg; }

在上面的代码中,我的问题是当我选择多个复选框时复选框值无法通过,其次,一旦表单成功提交,我将无法显示任何文本。除了这两个问题,我的代码能够成功插入信息。如果有人指导我正确完成工作,我会很高兴。预先感谢您的支持。

注意:我无法在粘贴此处添加 HTML 文件,它显示为普通文本。请建议。

4

0 回答 0