您的位置:首页 > 其它

[项目实训]6.8 contest的add功能最终完成

2017-06-08 20:37 260 查看
在和cxa的共同努力下,contest的add终于实现,我在html 文件中完成了script脚本的编写

<script type="text/javascript">
$(document).ready(function ()
{
$("#show_pass").change(function ()
{
if(!document.getElementById("contest_pass")){
$("#contest_open").after("<div class = \"row\" id=\"contest_pass\">"+
"<label class=\"col-sm-2 control-label\">Password:</label>"+
"<div class=\"col-sm-5\">"+
"<input type=\"password\" class=\"form-control\" name=\"password\">"+
"</div>"+
"</div>")
}
});
$("#hide_pass").change(function ()
{
if(document.getElementById("contest_pass")){
$("div").remove("#contest_pass")
}
})
$("#show_score").change(function()
{
$(".score_input").show();
})
$("#hide_score").change(function()
{
$(".score_input").hide();
})

});
function removeTR(tdobject){
var td=$(tdobject);
td.parents("tr").remove();
}
function addTR(){
$("#probTable").append("<tr><td><select name=\"originoj\" class=\"form-control\" value=\"\" style=\"width:100px;\" ><option value=\"HDU\">HDU</option><option value=\"FZU\">FZU</option><option value=\"ZOJ\">ZOJ</option></select></td><td><input type=\"text\" class=\"form-control\" name=\"prob\" oninput=\"getTitle(event,this)\" onpropertychange=\"getTitle(event,this)\"></td><td><input type=\"text\" class=\"form-control\" value=\"No Such Problem\" name=\"title\" disabled=\"disabled\" style=\"width:200px;\"></td><td hidden=\"hidden\" class=\"score_input\"><input type=\"text\" class=\"form-control\" name=\"score\" value = \"1\" style=\"width:80px;\"></td><td onclick=\"removeTR(this)\"><center><button type=\"button\" class=\"btn btn-danger\">Remove</button></center></td></tr>")
if($("input[name='type']:checked").val() == "custom"){
$(".score_input").show();
}else{
$(".score_input").hide();
}
}
function getTitle(event,inputobject){
var trobject = $(inputobject).parents("tr")
var originoj = $(trobject).children("td").eq(0).children("select").eq(0).val()
var probid = $(inputobject).val()
var title_obj = $(trobject).children("td").eq(2).children("input").eq(0)
$.ajax({
type: 'get',
url: "/contest/addcontest/get_problem_title/?originoj=" + originoj+"&probid="+probid,
success: function (responseData) {
$(title_obj).val(responseData);
}
})
}
function addcontest_submit(){
//author type openness title begin duration

var problems = "$"
var ok = 0

$("#probTable tr").each(function(){
var originoj = $(this).children("td").eq(0).children("select").eq(0).val()
var probid = $(this).children("td").eq(1).children("input").eq(0).val()
var title = $(this).children("td").eq(2).children("input").eq(0).val()
var score = $(this).children("td").eq(3).children("input").eq(0).val()
if(title == "No Such Problem" || isNaN(score)){
//alert(title+"/"+score)
ok = ok + 1
}else{
problems = problems + originoj + "|" + probid + "|" + score + "$"
}
})
//alert(problems)
if(ok < 2){

var pass = ""
var obj = $('input[name="password"]')
if(obj.length != 0){
pass = $('input[name="password"]').val()
}

detail = {
"author" : $('input[name="author"]').val(),
"type" : $('input[name="type"]').val(),
"openness" : $('input[name="openness"]').val(),
"password" : pass,
"title" : $('input[name="title"]').val(),
"begin" : $('input[name="begin"]').val(),
"duration" : $('input[name="duration"]').val(),
"problems" : problems
}
$.ajax({
type : "post",
url : "/contest/addcontest/submit/",
data : detail,
success : function(responseData){
if(responseData == "begin error"){
alert("Please check your begin-time format!")
}else if(responseData == "duration error"){
alert("Please check your duration format!")
}else if(responseData == "error"){
alert("Occur a unexcepted error!")
}else{
window.location.href = responseData;
}
},
error : function(responseData){
alert("Add contest error!")
alert(responseData)
}
})
}else{
alert("Please check your problems!")
}

}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐