阻止用户在 AJAX 帖子中输入空字符串的问题

issue in preventing user from entering empty string in ajax post

本文关键字:输入 字符串 问题 用户 AJAX      更新时间:2023-09-26
我有一个jquery ajax帖子,当用户输入一些文本并在文本框中按Enter键时,这个ajax

将触发并在<pre> html元素中显示文本框的值。 http://jsfiddle.net/LQg7W/2133/,这个jsfiddle没有显示任何东西,因为我还没有把ajax帖子放在里面。但是当用户不写任何内容并按 Enter 时,这个 ajax 就会被触发并返回一些东西。但是如何从用户那里捕获空字符串?

在我看来,这是:

 if(e.keyCode == 13) {
                var currentLine = $('#terminal').text();
                var inputData = $(e.currentTarget).val();
                $('#terminal').text(currentLine + "'r'n" + inputData + "'r'n"); //show the current and previous value
                $("#textInput").val(" $> ");
                AjaxPost(inputData);
            }

这个 Ajax 帖子在模型中:

 AjaxPost : function(dataAttribute, view, cacheId) {
        console.log(cacheId);
         var that = this;
         if(dataAttribute === ""){
            view.showMessage( " " , true);
         }
          $.ajax({
           type : "POST",
           url : "/api/user" , 
           datatype : "application/json",
           contentType: " text/plain",
           data : dataAttribute,
           success : function(data) {
            console.log(data);
           },
           error : function(error) {

           },
我的

问题是我的输入数据的默认值为 "$>",因此如果(inputdata === "" ),我无法检查此条件,因为它总是满的!有什么想法吗?

如果输入值默认为"$>"那么你只需要检查它,然后返回以避免ajax调用:

if(dataAttribute === "" || dataAttribute === "$>") { view.showMessage( " " , true); return; }

var m = inputdata.match(/'s*'$'>'s*/)
if (inputdata === m[0]){
    console.log('empty')
}
else{
    console.log('not empty')
}