gzhmtScript

建议使用firefox浏览器 不要使用IE浏览器 教务系统IP:10.10.12.78(内网) 域名:jw.gzhmt.edu.cn.(外网)

  1. // ==UserScript==
  2. // @name gzhmtScript
  3. // @namespace https://github.com/Gccc9
  4. // @version 1.1
  5. // @require https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js
  6. // @description 建议使用firefox浏览器 不要使用IE浏览器 教务系统IP:10.10.12.78(内网) 域名:jw.gzhmt.edu.cn.(外网)
  7. // @node 功能1:拦截了登陆界面的弹窗,将错误提示显示在页面上,而不是弹窗
  8. // @node 功能2:选体育课页面中,添加了抢课按钮,位于普通选择按钮的右侧,点击即可进行抢课。
  9. // @node 功能3:选修课页面中,添加了抢课面板,可以进行跨页选择,在想要抢的课的最后一栏点击按钮“添加到抢课”即可添加到面板 而后可以点击提交
  10. // @node 目前webkit内核的浏览器使用此脚本时会出现一些bug,暂未解决
  11. // @node 选修课面板的判断需要做处理,等到抢课的时候即可进行改正。
  12. // @author Gccc9
  13. // @match *://10.10.12.78/*
  14. // @match *://jw.gzhmt.edu.cn/*
  15. // @node 2019.1.7
  16. // @grant none
  17. // @run-at document-start
  18. // ==/UserScript==
  19.  
  20. var baseURL = window.location.host;//用于判断是内网还是外网 10.10.12.78是内网 访问jw.gzhmt.edu.cn为外网。
  21. var path = window.location.host+window.location.pathname;
  22. var helpString = [ '功能1:拦截登陆界面的弹窗,将错误提示显示在页面上.',
  23. '功能2:选体育课页面中,普通选课按钮的右侧添加了抢课按钮,点击即可进行抢课.',
  24. '功能3:选修课页面中添加了抢课面板,可以进行跨页选择,加入面板后即可进行提交.',
  25. '<strong>注意 : 选修课中的筛选面板不要进行改动!!</strong>',
  26. '<strong>版本号: 1.0   作者: Gccc9  日期: 2019.1.7</strong>'];
  27.  
  28. var alertMessage;//弹框弹出的信息
  29. //登陆界面
  30. if( path == baseURL || path == baseURL+"/default2.aspx" ){
  31. window.alert = function(message){
  32. alertMessage = message;
  33. };
  34. }
  35. //首页
  36. if( path == baseURL+"/xs_main.aspx"){
  37. window.alert = function(message){
  38. alertMessage = message;
  39. };
  40. //首页因插件与jquery有兼容问题 故改用原生js实现
  41. window.onload = function(){
  42. let second = 8; //窗口关闭的秒数
  43. let intervalEndFlag;//用于记录渐入是否结束了的
  44. let div = document.createElement("div");
  45. div.innerHTML = "<div style='display:block;position:fixed;top:240px;right:600px;opacity:0' id='tipContent'>"
  46. + "<div style='background:linear-gradient(#eaf4fe,#dbebfb,#dfecfc,#eaf4fe,#dbebfb,#eaf4fe,#bbd2f2);width:350px;padding:10px;border:3px #87a7d7 solid;border-radius:5px;'>"
  47. + "<ul id='helpUl'>"
  48. + "</ul>"
  49. + "</div>"
  50. +"</div>";
  51. document.getElementById("mainDiv").appendChild(div);
  52. if( alertMessage != undefined ){
  53. function fadeIn(element,speeded){
  54. if(element.style.opacity != 0 ){
  55. let num = 10;
  56. intervalEndFlag = setInterval(function(){
  57. num--;
  58. element.style.opacity = num/10;
  59. if(num <= 0) {
  60. clearInterval(intervalEndFlag);
  61. } },speeded);
  62. }};
  63. function fadeOut(element,speeded){
  64. if(element.style.opacity !=1){
  65. let num = 0;
  66. let st = setInterval(function(){
  67. num++;
  68. element.style.opacity = num / 10 ;
  69. if(num >= 10) {
  70. clearInterval(st);
  71. } },speeded);
  72. } };
  73. document.getElementById("helpUl").innerHTML= "<li>"+ alertMessage+"</li>"
  74. +"<li style='text-align:center'><strong>"+second+"秒后自动关闭</strong></li>";
  75. fadeOut(document.getElementById("tipContent"),30);
  76. let loop = setInterval(function(){
  77. if( intervalEndFlag == undefined && second != 0 ){
  78. second--;
  79. document.getElementById("helpUl").innerHTML= "<li>"+ alertMessage+"</li>"
  80. +"<li style='text-align:center'><strong>"+second+"秒后自动关闭</strong></li>";
  81. }
  82. if( second == 0 ){
  83. clearInterval(loop);
  84. }
  85. },1000);
  86. let loopSecond= setInterval(function(){
  87. if( second == 0 ){
  88. fadeIn(document.getElementById("tipContent"),30);
  89. clearInterval(loopSecond);
  90. }
  91. });
  92. }
  93. for( let i = 0 ; i < document.querySelectorAll("a[target='zhuti']").length ; i++ ){
  94. document.querySelectorAll("a[target='zhuti']")[i].addEventListener("click",function(){
  95. document.querySelector("#tipContent").style.opacity = 0;
  96. });
  97. }
  98.  
  99.  
  100. };
  101. }
  102.  
  103.  
  104. $(document).ready(function(){
  105. //登录时清空data数据
  106. $("#Button1").click(function(){
  107. sessionStorage.clear();
  108. });
  109. //登录页面
  110. if( path == baseURL+"/" || path == baseURL+"/default2.aspx"){
  111. //屏蔽登陆弹框 改为在提交登陆界面下面添加提示
  112. $("#Button1").siblings().last().css("color","red").css("margin-left","20px");
  113. $("#txtSecretCode").css("font-size","12px");
  114. $("#icode").css("left","159px");
  115. $("#icodems").remove();
  116. //$("#Button1").siblings().last().prepend(alertMessage);
  117. //脚本说明
  118. $(".login_right").css("position","relative");
  119. $(".login_right").append("<input type='button' value='脚本说明' id='scriptHelp' class='button' style='position:absolute;top:45px;right:140px;' >"
  120. +"<div style='display:none;position:absolute;top:40px;right:-200px' id='helpContent'>"
  121. + "<div style='position:relative'>"
  122. + "<div style='position:absolute;left:-19px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 10px solid transparent;border-right: 10px solid #87a7d7;' id='helpBorder'></div>"
  123. + "<div style='position:absolute;left:-15px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 10px solid transparent;border-right: 10px solid #e2effc;' id='helpInside'></div>"
  124. + "<div style='background:linear-gradient(#eaf4fe,#dbebfb,#dfecfc,#eaf4fe,#dbebfb,#eaf4fe,#bbd2f2);width:300px;padding:10px;border:3px #87a7d7 solid;border-radius:5px;'>"
  125. + "<ul>"
  126. + "</ul>"
  127. + "</div>"
  128. + "</div>"
  129. +"</div>");
  130. for(var i=0; i<helpString.length;i++){
  131. $("#helpContent ul").append("<li style='text-align:left;'>"+helpString[i]+"</li>");
  132. }
  133. $("#scriptHelp").click(function(){
  134. $("#helpContent").fadeToggle();
  135. });
  136. $("#Button1").parent().append("<div style='display:none;position:absolute;' id='tip'>"
  137. + "<div style='position:relative'>"
  138. + "<div style='position:absolute;left:-19px;top:5px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 10px solid transparent;border-right: 10px solid #87a7d7;'></div>"
  139. + "<div style='position:absolute;left:-15px;top:5px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 10px solid transparent;border-right: 10px solid #dbebfb;'></div>"
  140. + "<div style='background:linear-gradient(#eaf4fe,#dbebfb,#dfecfc,#eaf4fe,#dbebfb,#eaf4fe,#bbd2f2);width:110px;padding:10px;border:3px #87a7d7 solid;border-radius:5px;'>"
  141. + "<ul>"
  142. + "</ul>"
  143. + "</div>"
  144. + "</div>"
  145. +"</div>");
  146. if( alertMessage != undefined ){
  147. $("#tip ul").append("<li style='text-align:left;'>"+alertMessage+"<li>");
  148. if( alertMessage.startsWith("用户名") ){
  149. $("#tip").css("top","95px").css("right","10px");
  150. }else if( alertMessage.startsWith("密码")){
  151. $("#tip").css("top","128px").css("right","10px");
  152. }else if( alertMessage.startsWith("验证码")){
  153. $("#tip").css("top","170px").css("right","10px");
  154. }
  155. $("#tip").fadeIn();
  156. setTimeout(function(){
  157. $("#tip").fadeToggle();
  158. },4500);
  159. };
  160. }
  161.  
  162. //公选课抢课
  163. if( path == baseURL+"/xf_xsqxxxk.aspx"){
  164. $(".toolbox").css("position","relative");
  165. //脚本说明
  166. $(".toolbox").append("<input type='button' value='脚本说明' id='scriptHelp' class='button' style='position:absolute;top:58px;right:42px;' >"
  167. +"<div style='display:none;position:absolute;top:50px;right:120px' id='helpContent'>"
  168. + "<div style='position:relative'>"
  169. + "<div style='position:absolute;right:-19px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right: 10px solid transparent;border-left: 10px solid #87a7d7;'></div>"
  170. + "<div style='position:absolute;right:-15px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right: 10px solid transparent;border-left: 10px solid #e2effc;'></div>"
  171. + "<div style='background:linear-gradient(#eaf4fe,#dbebfb,#dfecfc,#eaf4fe,#dbebfb,#eaf4fe,#bbd2f2);width:300px;padding:10px;border:3px #87a7d7 solid;border-radius:5px;'>"
  172. + "<ul>"
  173. + "</ul>"
  174. + "</div>"
  175. + "</div>"
  176. +"</div>");
  177. for(i=0; i<helpString.length;i++){
  178. $("#helpContent ul").append("<li style='text-align:left;'>"+helpString[i]+"</li>");
  179. }
  180. $("#scriptHelp").click(function(){
  181. $("#helpContent").fadeToggle();
  182. });
  183.  
  184.  
  185. $("tr.datelisthead:first").append("<td>添加到抢课列表</td>");
  186. $("tbody:first>tr[class!='datelisthead']").append("<td><input type='button' class='button' value='添加到抢课'></td>");
  187. $(".searchbox:eq(1)").after("<div style='position:absolute;left:700px;top:5px;width:620px;'>"
  188. + "<select style='width:99%;height:99%;' size='3' onchange='' id='selectCreazy'>"
  189. + "</select>"
  190. + "<input type='button' class='button' value='提交' style='margin-right:50px;margin-top:4px;' id='postSessionStorage'>"
  191. + "<input type='button' class='button' value='清空' style='margin-right:50px;margin-top:4px;' id='delSessionStorage'>"
  192. + "<p style='position:absolute;left:405px;top:54px;' id='tip'><p>"
  193. +"</div>");
  194. var sessionData1 = JSON.parse(sessionStorage.getItem("data1"));
  195. var sessionData2 = JSON.parse(sessionStorage.getItem("data2"));
  196.  
  197. if( sessionData1 != null ){
  198. $("select[id='selectCreazy']").append("<option>"+sessionData1.sourceName+"---"+sessionData1.teacher+"---"+sessionData1.time+"---"+sessionData1.place+"---"+sessionData1.college+"</option>");
  199. $("select[id='selectCreazy']").children("option:last").attr("value",sessionData1.postValue);
  200. }
  201. if( sessionData2 != null ){
  202. $("select[id='selectCreazy']").append("<option>"+sessionData2.sourceName+"---"+sessionData2.teacher+"---"+sessionData2.time+"---"+sessionData2.place+"---"+sessionData2.college+"</option>");
  203. $("select[id='selectCreazy']").children("option:last").attr("value",sessionData2.postValue);
  204. }
  205. function sendData(){
  206. let __EVENTTARGET = $("input[name='__EVENTTARGET']").val();
  207. let __EVENTARGUMENT = $("input[name='__EVENTARGUMENT']").val();
  208. let interval1;
  209. let interval2;
  210. let runFlag1 = false;
  211. let runFlag2 = false;
  212. sessionData1 = JSON.parse(sessionStorage.getItem("data1"));
  213. sessionData2 = JSON.parse(sessionStorage.getItem("data2"));
  214.  
  215. if( sessionData1 != null ){
  216. runFlag1 = true;
  217. $("#delSessionStorage").hide();
  218. $("#postSessionStorage").val("停止抢课");
  219. $("#postSessionStorage").unbind("click");
  220. $("#postSessionStorage").click(function(){
  221. $("#postSessionStorage").val("提交");
  222. if( runFlag1 == true ){
  223. runFlag1 = false;
  224. clearInterval(interval1);
  225. }
  226. if( runFlag2 == true ){
  227. runFlag2 = false;
  228. clearInterval(interval2);
  229. }
  230. $("#delSessionStorage").show();
  231. $("#postSessionStorage").click(sendData);
  232. });
  233. let choose = sessionData1.postValue;
  234. let data = {
  235. "__EVENTTARGET":__EVENTTARGET,
  236. "__EVENTARGUMENT":__EVENTARGUMENT,
  237. "__VIEWSTATE":sessionData1.viewstate,
  238. "Button1":$("#Button1").val(),
  239. "ddl_kcgs":"",
  240. "ddl_kcxz":"",
  241. "ddl_sksj":"",
  242. "ddl_xqbs":"1",
  243. "ddl_ywyl":$("#ddl_ywyl").children("option[selected='selected']").val(),
  244. "dpkcmcGrid:txtChoosePage":sessionData1.pageCount,
  245. "dpkcmcGrid:txtPageSize":"15",
  246. "TextBox1":""
  247. };
  248. data[choose]="on";
  249. interval1 = setInterval( function(){
  250. $.ajax({
  251. url:$("#xsyxxxk_form").attr("action"),
  252. data:data,
  253. headers:{
  254. "Upgrade-Insecure-Requests":"1",
  255. "X-Requested-With":"",
  256. "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
  257. },
  258. type:"POST",
  259. contentType: 'application/x-www-form-urlencoded;charset=GBK',
  260. datatype:"TEXT",
  261. success:function(data,status,xhr){
  262. if( data.split("alert(\'")[1].split("\');</script>")[0] == "现在不是选课时间!!"){
  263. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  264. }else if( data.split("alert(\'")[1].split("\');</script>")[0] == "您已经修过该课程!不能再选"){
  265. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  266. clearInterval(interval1);
  267. runFlag1 = false;
  268. if( runFlag2 == false || interval2 == undefined ){
  269. $("#postSessionStorage").val("提交");
  270. $("#postSessionStorage").unbind("click");
  271. $("#postSessionStorage").click(sendData);
  272. $("#delSessionStorage").show();
  273. }
  274.  
  275. }else{
  276. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  277. clearInterval(interval1);
  278. runFlag1 = false;
  279. if( runFlag2 == false || interval2 == undefined){
  280. $("#postSessionStorage").val("提交");
  281. $("#postSessionStorage").unbind("click");
  282. $("#postSessionStorage").click(sendData);
  283. $("#delSessionStorage").show();
  284. }
  285. }
  286. },
  287. error:function(data,status,xhr){
  288. $("#tip").text("( ̄▽ ̄)\"客官,您的网络似乎不太行");
  289. }
  290. });
  291. },500);
  292.  
  293. }
  294.  
  295. if( sessionData2 != null ){
  296. runFlag2 = true;
  297. let choose = sessionData2.postValue;
  298. let data = {
  299. "__EVENTTARGET":__EVENTTARGET,
  300. "__EVENTARGUMENT":__EVENTARGUMENT,
  301. "__VIEWSTATE":sessionData2.viewstate,
  302. "Button1":$("#Button1").val(),
  303. "ddl_kcgs":"",
  304. "ddl_kcxz":"",
  305. "ddl_sksj":"",
  306. "ddl_xqbs":"1",
  307. "ddl_ywyl":$("#ddl_ywyl").children("option[selected='selected']").val(),
  308. "dpkcmcGrid:txtChoosePage":sessionData2.pageCount,
  309. "dpkcmcGrid:txtPageSize":"15",
  310. "TextBox1":""
  311. };
  312. data[choose]="on";
  313. interval2 = setInterval( function(){
  314. $.ajax({
  315. url:$("#xsyxxxk_form").attr("action"),
  316. data:data,
  317. type:"POST",
  318. headers:{
  319. "Upgrade-Insecure-Requests":"1",
  320. "X-Requested-With":"",
  321. "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
  322. },
  323. contentType: 'application/x-www-form-urlencoded;charset=GBK',
  324. datatype:"TEXT",
  325. success:function(data,status,xhr){
  326. if( data.split("alert(\'")[1].split("\');</script>")[0] == "现在不是选课时间!!"){
  327. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  328. }else if( data.split("alert(\'")[1].split("\');</script>")[0] == "您已经修过该课程!不能再选"){
  329. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  330. clearInterval(interval2);
  331. runFlag2 = false;
  332. if( runFlag1 == false){
  333. $("#postSessionStorage").val("提交");
  334. $("#postSessionStorage").unbind("click");
  335. $("#postSessionStorage").click(sendData);
  336. $("#delSessionStorage").show();
  337. }
  338. }else{
  339. $("#tip").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  340. clearInterval(interval2);
  341. runFlag2 = false;
  342. if( runFlag1 == false){
  343. $("#postSessionStorage").val("提交");
  344. $("#postSessionStorage").unbind("click");
  345. $("#postSessionStorage").click(sendData);
  346. $("#delSessionStorage").show();
  347. }
  348. }
  349. },
  350. error:function(data,status,xhr){
  351. $("#tip").text("( ̄▽ ̄)\"客官,您的网络似乎不太行");
  352. }
  353. });
  354. },500);
  355. }
  356. };
  357.  
  358. //给"抢课提交"增加监听
  359. $("#postSessionStorage").click(sendData);
  360.  
  361.  
  362.  
  363. //给“清空”增加监听
  364. $("#delSessionStorage").click(function(){
  365. sessionStorage.clear();
  366. $("select[id='selectCreazy']").empty();
  367. $("#tip").text("");
  368. });
  369.  
  370. //给“添加到抢课”增加监听器
  371. $("td > input[type='button']").click(function(e){
  372. if( $("select[id='selectCreazy']").children().length < 2 ){
  373. let sourceName = $(e.target).parent().parent().children("td:eq(1)").text();
  374. let teacher = $(e.target).parent().parent().children("td:eq(3)").text();
  375. let time = $(e.target).parent().parent().children("td:eq(4)").attr("title");
  376. let place = $(e.target).parent().parent().children("td:eq(5)").text();
  377. let college = $(e.target).parent().parent().children("td:eq(14)").text();
  378. let postValue =$(e.target).parent().parent().children("td:first").children("input").attr("name");
  379. let json = {
  380. 'postValue':postValue,
  381. 'pageCount':$("#dpkcmcGrid_lblCurrentPage").text(),
  382. 'sourceName':sourceName,
  383. 'teacher':teacher,
  384. 'time':time,
  385. 'place':place,
  386. 'college':college,
  387. 'viewstate':$("input[name='__VIEWSTATE']").val()
  388. };
  389. $("select[id='selectCreazy']").append("<option>"+sourceName+"---"+teacher+"---"+time+"---"+place+"---"+college+"</option>");
  390. $("select[id='selectCreazy']").children("option:last").attr("value",postValue);
  391. if( sessionStorage.getItem('data1') == null ){
  392. sessionStorage.setItem('data1',JSON.stringify(json));
  393. }else{
  394. sessionStorage.setItem('data2',JSON.stringify(json));
  395. }
  396. }
  397. });
  398. }
  399.  
  400. //体育课抢课
  401. if( path == baseURL+"/xstyk.aspx"){
  402. //脚本说明
  403. $("body").append("<input type='button' value='脚本说明' id='scriptHelp' class='button' style='position:absolute;top:58px;right:42px;' >"
  404. +"<div style='display:none;position:absolute;top:50px;right:120px' id='helpContent'>"
  405. + "<div style='position:relative'>"
  406. + "<div style='position:absolute;right:-18px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right: 10px solid transparent;border-left: 10px solid #87a7d7;'></div>"
  407. + "<div style='position:absolute;right:-15px;top:10px;width:0px;height:0px;border-top: 10px solid transparent;border-bottom: 10px solid transparent;border-right: 10px solid transparent;border-left: 10px solid #e2effc;'></div>"
  408. + "<div style='background:linear-gradient(#eaf4fe,#dbebfb,#dfecfc,#eaf4fe,#dbebfb,#eaf4fe,#bbd2f2);width:300px;padding:10px;border:3px #87a7d7 solid;border-radius:5px;'>"
  409. + "<ul>"
  410. + "</ul>"
  411. + "</div>"
  412. + "</div>"
  413. +"</div>");
  414. for(i=0; i<helpString.length;i++){
  415. $("#helpContent ul").append("<li style='text-align:left;'>"+helpString[i]+"</li>");
  416. }
  417. $("#scriptHelp").click(function(){
  418. $("#helpContent").fadeToggle();
  419. });
  420.  
  421. function sendData(){
  422. $("#button3").siblings().last().text("-----开始抢课-----");
  423. $("#button4").val("停止抢课");
  424. $("#button4").unbind("click");
  425. $("#button4").click(function(){
  426. clearInterval(interval);
  427. $("#button4").val("开始抢课");
  428. $("#button4").unbind("click");
  429. $("#button4").click(sendData);
  430. });
  431. let interval = setInterval( function(){ //clearInterval(interval);用于终止
  432. $.ajax({
  433. url:$("#Form1").attr("action"),
  434. data:{ __EVENTTARGET:$("input[name='__EVENTTARGET']").val(),
  435. __EVENTARGUMENT:$("input[name='__EVENTARGUMENT']").val(),
  436. __VIEWSTATE:$("input[name='__VIEWSTATE']").val(),
  437. button3:"%D1%A1%B6%A8%BF%CE%B3%CC",
  438. DropDownList1:$("#DropDownList1").children("option[selected='selected']").val(),
  439. ListBox1:$("#ListBox1").children("option[selected='selected']").val(),
  440. ListBox2:$("#ListBox2").children("option[selected='selected']").val()
  441. },
  442. type:"POST",
  443. contentType: 'application/x-www-form-urlencoded;charset=GBK',
  444. datatype:"TEXT",
  445. success:function(data,status,xhr){
  446. if( data.split("alert(\'")[1].split("\');</script>")[0] == "只能选1门体育课!!"){
  447. $("#Form1").submit();
  448. }else if( data.split("alert(\'")[1].split("\');</script>")[0] == "请选择对应值!!"){
  449. $("#button3").parent().children("p").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  450. clearInterval(interval);
  451. $("#button4").val("开始抢课");
  452. $("#button4").unbind("click");
  453. $("#button4").click(sendData);
  454. }else{
  455. $("#button3").parent().children("p").text(data.split("alert(\'")[1].split("\');</script>")[0]);
  456. }
  457. },
  458. error:function(data){
  459. $("#button3").parent().children("p").text("( ̄▽ ̄)\"客官,您的网络似乎不太行");
  460. }
  461. });
  462. },300);
  463.  
  464. }
  465.  
  466. $("#button3").parent().append("<input id='button4' class='button' value='开始抢课' style='width:60px'>");
  467. $("#button3").parent().append("<p style='display:inline;margin-left:30px;'></p>");
  468. $("#button4").click(sendData);
  469. }
  470.  
  471. });
  472.