0

我正在处理 mvc3 中的表单,并在 javascript 和 ajax 中使用表单验证。在我的表单中,我在数据库中添加代码和描述,在提交表单之前想要检查数据库中是否已经存在代码。我通过 ajax 函数调用获取 javascript 中的代码,并以 json 形式返回数据。当我得到数据时,我会向用户显示错误消息,提醒用户该代码已经存在。但我的警报没有显示。我该怎么办。下面是我的javascript保存按钮点击功能

  $('#sve').click(function () {
    //e.preventDefault();
      var iscodeexis = CodeExistChk();
    if (iscodeexis) {//



        //***********************CODE TO SAVE DATA IN DATABASE***********************************
        var person = { AcCode: $('#AcCode').val(), Descrip: $('#Descrip').val(), AddOn: dd };
        $.ajax({
            url: '/Home/Save?action=Sve',
            type: "POST",
            data: JSON.stringify(person),
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (result) {
                //   $('#message').html('Record saved successfully' + result).fadeIn();
                alert("Record saved successfully");
            },
            error: function () {
                //    $('#message').html('Error Occurred').fadeIn(); 
                alert("Record not saved successfully");
            }
        });
    }//end of is valid function chk
    else
        return false;//if isvalid function return false then save button also return false

});  //end button clcik function


 function CodeExistChk() {
    subA = $('#AcCode').val().trim();
    //  ===========================check whether code exist already or not
    if (subA.length === 10) {
        str1 = "select AcCode from Account where AcCode='";
        str2 = str1 + subA + "'";
        GetCodeData(str2); //check whether code exist or not
        strRes = strRes.substring(1, strRes.length - 1);
        if (strRes.length > 0 && strRes != "") //if  code exist then return false and not allow     to enter code   
        {
            alert('Code already exist cannot insert record');
            return false;
        }

    }
    //===============================

    }

下面是 getcodedata 函数,它在上面的代码中用于从数据库中获取代码

    //===============FUNCTION TO GET CODE FROM DATABASE TO USE IN JS FILE==========
function GetCodeData(Str) {

    var p = {
        StrSql: Str

    };
    $.ajax({
        url: '/Home/GetGenVal',
        type: 'POST',
        // contentType: 'application/x-www-form-urlencoded',
        dataType: "JSON",
        contentType: "application/json; charset=utf-8",
        processData: false,
        crossDomain: false,
        traditional: true,
        data: JSON.stringify(p),
        cache: false,
        //   success: callback
        success: function (data) {
            //$("#Descrip").val(data);
            //  ResSubCode = data;
            strRes = null;
            strRes = data;
            return strRes;
        }

    });
}

等待早日解决。

4

1 回答 1

0

哇,我在这段代码中看到了一些错误。首先,永远不要在客户端构建你的 sql 查询来执行它们。如果我将查询修改为“删除”怎么办?再见数据库!

我将简单地编辑您的逻辑并使用 [RemoteAttribute] MVC3/4 功能来调用控制器操作并仅返回真或假。在这里查看:Remoteattribute 测试用法 你不会错的!

文森佐。

于 2013-04-22T09:35:15.210 回答