我有一个jquery ajax帖子,当用户输入一些文本并按下输入文本框时,这个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 === "" )
我不能检查这个条件,因为它总是满的!有什么想法吗?
答案 0 :(得分:0)
如果输入值默认为"$>"
,那么您只需要检查它,并返回以避免ajax调用:
if(dataAttribute === "" || dataAttribute === "$>") {
view.showMessage( " " , true);
return;
}
答案 1 :(得分:0)
var m = inputdata.match(/\s*\$\>\s*/)
if (inputdata === m[0]){
console.log('empty')
}
else{
console.log('not empty')
}