Как проверить значение текстового поля, введенное пользователем, введите правильное или неправильное значение в текстовое поле, используя ajax Jquery? - PullRequest
0 голосов
/ 13 февраля 2020

Я работаю с ajax jquery Функциональность поиска.

, когда я ищу запись в текстовом поле, затем получаю запись, но когда я ищу ложную запись, тогда получаю ложную запись? вот в чем проблема

таблица:

enter image description here

Emploee.aspx

                  <tr>
                    <td>
                        Search Record:   <asp:TextBox ID="txtsearch" runat="server"></asp:TextBox>
                                         <input id="btnsearch" type="button" value="Search" onclick="searchrecord()" />
                    </td>
                </tr>           
            </table>
        </div>

        <div class="row">
            <div>
                <table id="tbl" border="1">
                    <thead>
                        <tr>
                            <th>StudentName</th>
                            <th>StudentAddress</th><br /><br />
                            <th>Edit</th>
                        </tr>
                    </thead>
                </table>
            </div>
        </div>



       function searchrecord(studname) {

                jQuery.ajax({
                    url: "WebForm1.aspx/search",
                    type: 'post',
                    contentType: 'application/json;charset=utf-8',
                    datatype: 'json',
                    data: "{ studname:'" + $("#txtsearch").val() + "' }",
                    success: function (data) {
                        debugger

                        if (data.d == $("#txtsearch").val()) {

                            debugger

                            txt = "<tr><td>" + data.d + "</td></tr>";
                            $("#tbl").append(txt);
                            alert('you enter right record');

                        }

                        else if (data.d != $("#txtsearch").val()) {

                            alert('you enter wrong record');

                        }

                    },
                    error: function () {
                        alert('search Error');  //now whatever i search then this run
                    },
                });
            }

Emploee.aspx

        [WebMethod]
        public static string search(string studname,bool flg)
        {
            string data = "";
            SqlConnection con = new SqlConnection(cn);

            SqlCommand cmd = new SqlCommand("SELECT studname FROM tblstud WHERE studname LIKE @studname and active=@flagTrueOrFalse", con);
            con.Open();

            cmd.Parameters.AddWithValue("@studname", "%" + studname + "%");
            cmd.Parameters.AddWithValue("@flag", SqlDbType.Bit).Value = flg;

            SqlDataReader reader = cmd.ExecuteReader(); 

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    studname = reader[0].ToString();
                }
            }
            else
            {
                Console.WriteLine("No rows found.");
            }

            reader.Close();
            data = studname;
            return data;
        }

как решить условие if-else ajax logi c?

main получить список данных:

function GetData() {
                $.ajax({

                    url: 'Emploee.aspx/GetData',
                    type: 'post',
                    contentType: 'application/json;charset=utf-8',
                    datatype: 'json',
                    success: function (data) {
                        data = JSON.parse(data.d);
                        $.each(data, function (index, element) {
                            $("#tbl").append('<td>' + element.studname + '</td>');
                            $("#tbl").append('<td>' + element.studaddress + '</td>');
                            $("#tbl").append('<td><input type="button" id="btnupdate" value="Update" onclick="Update(' + element.studid + ', \'' + element.studname + '\' ,\'' + element.studaddress + '\')" /></td>');
                        });
                    },
                    error: function (error) {
                        alert('Not Get Data')
                    },
                });
            }

просто, я хочу добавить if -лиже условие, когда пользователь вводит истинную запись, затем добавляет запись, и пользователь получает ложную запись, а затем получает окно с сообщением о предупреждении?

Я хочу установить условие ниже в приведенном выше ajax:

if(textbox value match then going inside)
{
  txt = "<tr><td>" + data.d + "</td></tr>";
  $("#tbl").append(txt);
}
else if(textbox value not match then going inside)
{alert("please proper record enter");}

Журнал консоли:

enter image description here

Предварительный просмотр:

{Message: "Invalid web service call, missing value for parameter: 'flg'.",…}
Message: "Invalid web service call, missing value for parameter: 'flg'."
StackTrace: "   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)
↵   at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)
↵   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)
↵   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)"
ExceptionType: "System.InvalidOperationException"

Ответ

{"Message":"Invalid web service call, missing value for parameter: \u0027flg\u0027.","StackTrace":"   at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n   at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n   at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

Ответы [ 3 ]

0 голосов
/ 14 февраля 2020

rahul Я думаю, что нет проблем с вашим запросом ajax. Вы можете проверить это с помощью console.log (data) в вашей функции успеха. но поскольку ваш код объясняет, что вы добавляете результат непосредственно в свой элемент $ ("# tbl"), это означает, что вы добавляете не удаляя предыдущие результаты. поэтому я предлагаю вам создать еще один элемент в конце ссылки на таблицу. Я уверен, что это поможет.

         //end of table tag then add this element 
         <span id="result"></span>
         //changes in success
         success: function (data) {

                        txt = "" + data.d + "";
                              $("#result").text(txt);
                        //$("#tbl").append(txt);

                    },
0 голосов
/ 14 февраля 2020

первое, что я хотел бы получить, когда вы пытаетесь найти студента, удалить Html, прежде чем добавлять данные ответа. поэтому можно избежать путаницы, если вы обновляете контент несколько раз.

Кроме того, я заметил, что вы взяли 2 параметра в запросе SQL, но не передаете параметр @flagTrueOrFalse. так что сделай это правильно. если проблема не решена, сообщите нам более подробную информацию, чтобы мы могли помочь вам.

0 голосов
/ 14 февраля 2020

Условие (data == "#txtsearch"), скорее всего, никогда не будет выполнено. Я предполагаю, что вы хотели написать

if (data.indexOf( $("#txtsearch").val()) > 1) 

Для сравнения данных. Во всяком случае, это не очень эффективно, и я хочу правильно использовать функцию обратного вызова «успех» и «ошибка», чтобы достичь желаемого результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...