The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#11
|
|||
|
|||
![]()
I tried to add
Quote:
|
#12
|
||||
|
||||
![]()
Give this a try.
Code:
<script type="text/javascript"> function create_req_object() { var req = false; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { var msp = new Array('Microsoft', 'Msxml2'); for (var i in msp) { try { req = eval('ne' + 'w Act' + 'iveXObj'+ 'ect(msp[i] + ".XMLH'+ 'TTP");'); } catch(e) { continue; } } } return req; } function submit_form(form) { var http = create_req_object(); if (!http) { return true; } if (isNaN(form.Home.value) || isNaN(form.Away.value) || !form.Home.value || !form.Away.value) { alert("Invalid prediction. Please use numbers only."); return false; } http.open('POST', form.action); http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); http.onreadystatechange = function() { if (http.readyState == 4 && http.status == 200) { var eventid = parseInt(http.responseText); if (!isNaN(eventid)) { toggle_predictions(); fetch_object('predction_home1').innerHTML = form.Home.value; fetch_object('predction_away1').innerHTML = form.Away.value; fetch_object('remove').innerHTML = '<a href="predictions.php?do=remove&eventid='+ eventid +'" onclick="return remove_prediction('+ eventid +');">Remove</a>'; alert("Predictions successfully submitted."); } } } http.send('do=addpredict&Home='+ form.Home.value +'&Away='+ form.Away.value +'&eventid='+ form.eventid.value +'&1Home='+ form.Home1.value +'&1Away='+ form.Away1.value); return false; } function remove_prediction(eventid) { var http = create_req_object(); if (!http) { return true; } http.open('GET', 'predictions.php?do=remove&eventid='+ eventid); http.onreadystatechange = function() { if (http.readyState == 4 && http.status == 200) { toggle_predictions(); var form = document.predictions; form.Home.value = ''; form.Away.value = ''; alert("Sucessfully removed."); } } http.send(null); return false; } function toggle_predictions() { var objects = new Array( 'Home1', 'Away1', 'predction_home1', 'predction_away1', 'predict', 'remove' ); for (var i in objects) { var style = fetch_object(objects[i]).style; style.display = style.display == 'none' ? 'block' : 'none'; } } </script> <form action="predictions.php" method="post" onsubmit="return submit_form(this);" name="predictions"> <input type="hidden" name="do" value="addpredict"> <input type="hidden" name="eventid" value="32"> <table class="tborder" cellspacing="1" cellpadding="4" border="0"> <tr> <td class="tcat" colspan="5">Interactive game details</td> </tr> <tr> <td class="thead">Your predictions</td> <td class="thead">Actual</td> <td colspan="2" align="center" class="thead">Teams</td> <td class="thead">Colors</td> </tr> <tr> <td align="center"> <div id="Home1"> <input type="hidden" name="Home1" value="RDG"> <input name="Home" type="text" size="1" value=""> </div> <div id="predction_home1" style="display: none;"></div> </td> <td class="alt2" align="center"></td> <td nowrap><strong>Home</strong>:</td> <td>RDG</td> <td><img src="images/calendarteams/RDG.gif"></td> </tr> <tr> <td align="center"> <div id="Away1"> <input type="hidden" name="Away1" value="Victory"> <input name="Away" type="text" size="1" value="" id="Away1"> </div> <div id="predction_away1" style="display: none;"></div> </td> <td class="alt2" align="center"></td> <td nowrap><strong>Away</strong>:</td> <td>Victory</td> <td><img src="images/calendarteams/Victory.gif"></td> </tr> <div class="smallfont"> <strong>Venue</strong>: Gonaives - Parc Vincent </div> <div class="smallfont"> <strong>Competition</strong>: Digicel Cloture </div> <div class="smallfont"> <strong>Round</strong>: 9 </div> <tr> <td align="center"> <input type="image" src="/forums/images/kirsch/buttons/predict.gif" id="predict"> <div id="remove" style="display: none;"> </div> </td> <td class="alt2" style="border-top:0px solid #c0c0c0;" align="center" colspan="4">insert link to leaderboard here</td> </tr> </table> </form> PHP Code:
You should also do an error check in your PHP script. Javascript runs on the client side and can't be trusted. |
#13
|
|||
|
|||
![]()
Nico, once again thanks for the help. Everything but the ajax remove is fine, but I will live with that. I simply put a front end redirect in predictions.php that brings back to the previous page.
It's a pity I had to edit calendar.php as there was no hook at the desired location. My predictions is heavily customized. I am going to try to simplify it and release it, giving you 100% credits for the ajax code (not a line was from me). I only had to add the eventid to the <div> <div id="$customtitle$eventinfo[eventid]"> to make it unique, because sometimes there are multiple games in the same day. |
#14
|
||||
|
||||
![]()
<a href="showthread.php?t=93249" title="vBulletin.org Forum - Thread 93249">Here's a nice tutorial.</a>
|
#15
|
||||
|
||||
![]()
^^ Thank you for that. I'll have a look at it.
Lionel, I just downloaded your script. Thanks for the credit. ![]() I saw you modified it a bit... don't use getElementById, cause it's not cross browser safe. Use vB's fetch_object() function instead. Code:
fetch_object('button'+ form.eventid.value).innerHTML = '<a href="predictions.php?do=remove&eventid='+ form.eventid.value +'">Remove</a>'; EDIT: Give this a try. Code:
function submit_form(form) { if (isNaN(form.Home.value) || isNaN(form.Away.value) || !form.Home.value || !form.Away.value) { alert("Invalid prediction. Please use numbers only."); return false; } http = new vB_AJAX_Handler(true); if (!http) { return true; } http.onreadystatechange(handle_prediction); http.send('predictions.php', 'do=addpredict&Home='+ form.Home.value +'&Away='+ form.Away.value +'&eventid='+ form.eventid.value +'&1Home='+ form.Home1.value +'&1Away='+ form.Away1.value); return false; } function handle_prediction() { if (http.handler.readyState == 4 && http.handler.status == 200) { var form = document.predictions; fetch_object('Home'+ form.eventid.value).innerHTML = form.Home.value; fetch_object('Away'+ form.eventid.value).innerHTML = form.Away.value; fetch_object('button'+ form.eventid.value).innerHTML = '<a href="predictions.php?do=remove&eventid='+ form.eventid.value +'">Remove</a>' } } |
#16
|
|||
|
|||
![]()
cool. Thanks Nico. Feel free to modify all you want.
|
#17
|
||||
|
||||
![]()
I edited the post above. I didn't fully test it though.
|
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|