0

我有一个 jquery ajax 帖子,当用户输入一些文本并在文本框中按 enter 时,这个 ajax 将触发并在<pre>html 元素中显示文本框的值。http://jsfiddle.net/LQg7W/2133/显然这个jsfiddle没有显示任何东西,因为我没有把ajax帖子放在里面。但是当用户什么都不写并按下回车时,这个 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 === "" )因为它总是满的!有什么想法吗?

4

2 回答 2

0

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

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

于 2013-09-14T09:18:53.740 回答
0
var m = inputdata.match(/\s*\$\>\s*/)
if (inputdata === m[0]){
    console.log('empty')
}
else{
    console.log('not empty')
}
于 2013-09-14T09:19:19.257 回答