mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-13 07:21:38 +08:00
添加Metronic(作为LFS)
This commit is contained in:
181
frontend/static/js/common/createproblem.js
Normal file
181
frontend/static/js/common/createproblem.js
Normal file
@@ -0,0 +1,181 @@
|
||||
(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 );
|
Reference in New Issue
Block a user