mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-01-11 04:08:14 +08:00
181 lines
6.6 KiB
JavaScript
181 lines
6.6 KiB
JavaScript
|
(function( $ ){
|
|||
|
|
|||
|
var methods = {
|
|||
|
init : function( options ){
|
|||
|
var $this = this;
|
|||
|
options = $.extend( $.fn.createproblem.options, options );
|
|||
|
|
|||
|
return this.each(function(){
|
|||
|
|
|||
|
$("#createProblemMarkContainer").markinput("init",{adjustLeftComponent:$("#problemModalBody")});
|
|||
|
|
|||
|
|
|||
|
|
|||
|
$("#createProblemSummary").on("keydown",function(e){
|
|||
|
var keyCode = e.keyCode;
|
|||
|
if(keyCode == 13){
|
|||
|
e.preventDefault();
|
|||
|
}
|
|||
|
|
|||
|
});
|
|||
|
$("#createProblemSummary").on("paste",function(e){
|
|||
|
var pasteText = e.originalEvent.clipboardData.getData("text/plain");
|
|||
|
pasteText = pasteText.replace(/\r\n/g,"");
|
|||
|
pasteText = pasteText.replace(/\r/g,"");
|
|||
|
pasteText = pasteText.replace(/\n/g,"");
|
|||
|
document.execCommand("insertHTML", false, pasteText);
|
|||
|
e.preventDefault();
|
|||
|
});
|
|||
|
|
|||
|
//统计字数
|
|||
|
$("#createProblemSummary").on("keydown cut copy paste",function(){
|
|||
|
setTimeout(function(){
|
|||
|
|
|||
|
$("#createProblemModel").modal("adjustBackdrop");
|
|||
|
|
|||
|
var inputText = $("#createProblemSummary").text();
|
|||
|
if(inputText.length > 500){
|
|||
|
$("#problemSummaryLimit").show();
|
|||
|
$("#problemSummaryLimit").css("color","red");
|
|||
|
$("#problemSummaryLimit").text(inputText.length + " / 500");
|
|||
|
}else if(inputText.length > 350){
|
|||
|
$("#problemSummaryLimit").show();
|
|||
|
$("#problemSummaryLimit").css("color","#838383");
|
|||
|
$("#problemSummaryLimit").text(inputText.length + " / 500");
|
|||
|
}else{
|
|||
|
$("#problemSummaryLimit").hide();
|
|||
|
}
|
|||
|
|
|||
|
},0);
|
|||
|
});
|
|||
|
|
|||
|
$("#createProblemContent").on("keydown cut copy paste",function(){
|
|||
|
setTimeout(function(){
|
|||
|
var inputText = $("#createProblemContent").val();
|
|||
|
if(inputText.length > 100){
|
|||
|
$("#problemContentLimit").show();
|
|||
|
$("#problemContentLimit").css("color","red");
|
|||
|
$("#problemContentLimit").text(inputText.length + " / 100");
|
|||
|
}else if(inputText.length > 80){
|
|||
|
$("#problemContentLimit").show();
|
|||
|
$("#problemContentLimit").css("color","#838383");
|
|||
|
$("#problemContentLimit").text(inputText.length + " / 100");
|
|||
|
}else{
|
|||
|
$("#problemContentLimit").hide();
|
|||
|
}
|
|||
|
|
|||
|
},0);
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
$("#createProblemCancel").on("click",function(){
|
|||
|
$("#createProblemModel").modal("hide");
|
|||
|
});
|
|||
|
|
|||
|
$("#createProblemSubmit").on("click",function(){
|
|||
|
var problemContent = $("#createProblemContent").val();
|
|||
|
var problemSummary = $("#createProblemSummary").text();
|
|||
|
if(problemContent.length <= 0){
|
|||
|
$("#drTipbar").drtipbar("showMsg","请输入问题");
|
|||
|
return;
|
|||
|
}
|
|||
|
if(problemContent.length > 100){
|
|||
|
$("#drTipbar").drtipbar("showMsg","问题内容最多100个字");
|
|||
|
return;
|
|||
|
}
|
|||
|
if(problemSummary.length > 500){
|
|||
|
$("#drTipbar").drtipbar("showMsg","问题描述最多500个字");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
//验证是否以问号结尾
|
|||
|
var lastStr = problemContent.substr(problemContent.length - 1,problemContent.length);
|
|||
|
if(lastStr != '?' && lastStr != '?'){
|
|||
|
$("#drTipbar").drtipbar("showMsg","问题必须以问号结尾");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
problemContent = encodeURIComponent(problemContent);
|
|||
|
problemSummary = encodeURIComponent(problemSummary);
|
|||
|
|
|||
|
var markArr = $("#createProblemMarkContainer").markinput("getMarkArray");
|
|||
|
if(markArr.length == 0){
|
|||
|
$("#drTipbar").drtipbar("showMsg","问题必须带标签");
|
|||
|
return;
|
|||
|
}
|
|||
|
var markDataString = JSON.stringify(markArr);
|
|||
|
markDataString = encodeURIComponent(markDataString);
|
|||
|
|
|||
|
$("#createProblemSubmit").attr("disabled",true);
|
|||
|
jQuery.ajax({
|
|||
|
type : "POST",
|
|||
|
contentType : "application/x-www-form-urlencoded",
|
|||
|
url : "/problems/create",
|
|||
|
data : "content="+problemContent+"&summary="+problemSummary+"&markstr="+markDataString,
|
|||
|
beforeSend: function(request) {
|
|||
|
|
|||
|
$('#loadingBar').drloadingbar("startLoad");
|
|||
|
},
|
|||
|
success : function(data){
|
|||
|
|
|||
|
//disable不能去除,在页面跳转前会有再被点的风险
|
|||
|
$.drWindowLocation("/problems/get?guid="+data.guid,true);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
},
|
|||
|
error : function(data){
|
|||
|
$('#loadingBar').drloadingbar("stopLoad");
|
|||
|
$("#createProblemSubmit").removeAttr("disabled");
|
|||
|
|
|||
|
if(data.responseJSON == null){
|
|||
|
$("#drTipbar").drtipbar("showMsg","网络不给力");
|
|||
|
}else{
|
|||
|
if(data.responseJSON.errCode != null){
|
|||
|
$("#drTipbar").drtipbar("showMsg",data.responseJSON.errMessage);
|
|||
|
|
|||
|
}else{
|
|||
|
$("#drTipbar").drtipbar("showMsg","网络不给力");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
},
|
|||
|
|
|||
|
modalShow:function(){
|
|||
|
|
|||
|
$("#createProblemModel").modal("show");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
|
|||
|
$.fn.createproblem = function( method ) {
|
|||
|
|
|||
|
// Method calling logic
|
|||
|
if ( methods[method] ) {
|
|||
|
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
|
|||
|
} else if ( typeof method === 'object' || ! method ) {
|
|||
|
return methods.init.apply( this, arguments );
|
|||
|
} else {
|
|||
|
$.error( 'Method ' + method + ' does not exist on jQuery.createproblem' );
|
|||
|
}
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
$.fn.createproblem.options = {};
|
|||
|
|
|||
|
|
|||
|
})( jQuery );
|