RJ2001 Posted September 24, 2007 Share Posted September 24, 2007 I have a javascript function that adds a new row to an existing php form. The form has two stages and saves all data from each stage in a session for each variable. I have a counter to remember the count of each new row that is dynamically added. My question is how can I save these rows once they are created so that they will still be there once I come back to that stage of the form, i.e. I go back to step one to change something when I hit next all the rows that I created are still there and have the data from the php session. Code is below <Javascript to add new row> <SCRIPT LANGUAGE="JavaScript"> // Include the function to add a row function HDonCallReport_addCallsRecieved() { var tbody = document.getElementById('CallsReceived').getElementsByTagName("TBODY")[0]; var row = document.createElement("TR"); // create a new table row var td = new Array(4); // counting the table we made there are 8 cells per table row var tempSelect; var tempInput; var rownum = tbody.rows.length; // not +1 because we have a header row var T = document.getElementById("Time_" + rownum); var sT = "selectTime(this,Time_#num#);"; var sT2 = sT.replace( /#num#/g, ""+rownum); // Create Time select box td[0] = document.createElement("TD"); // create a td element tempInput = document.createElement("INPUT"); // create an input tempInput.name = "Time_" + rownum; // name the input tempInput.id = "Time_" + rownum; // give an id to the input tempInput.size = 20; // set the size of the input tempInput.onblur = function() {validateTimePicker(this);}; tempInput.setAttribute('value', "<?php echo htmlentities($_POST['Time_' + rownum]); ?>") ; td[0].appendChild(tempInput); // add the select box to the table cell var tempImg = document.createElement('img'); tempImg.src = 'gif/timepicker.gif'; tempImg.alt = 'timepicker'; tempImg.align = 'top'; tempImg.hspace = '5' //for IE to put space between image and input field. tempImg.onclick = function() {selectTime(this, document.getElementById("Time_" + rownum));}; tempImg.style.cursor = "hand"; td[0].appendChild(tempImg); // Create Location input td[1] = document.createElement("TD"); // create a table cell tempInput = document.createElement("INPUT"); // create an input tempInput.name = "Location_" + rownum; // name the input tempInput.id = "Location_" + rownum; // give an id to the input tempInput.size = 30; // set the size of the input td[1].appendChild(tempInput); // add the input to the table cell // Create Who Called input td[2] = document.createElement("TD"); tempInput = document.createElement("INPUT"); tempInput.name = "WhoCalled_" + rownum; tempInput.id = "WhoCalled_" + rownum; tempInput.size = 30; td[2].appendChild(tempInput); // Create Response input td[3] = document.createElement("TD"); tempInput = document.createElement("textarea"); tempInput.name = "Response_" + rownum; tempInput.id = "Response_" + rownum; tempInput.rows = 2; tempInput.cols = 30; td[3].appendChild(tempInput); // Append each cell to the row we created row for(i=0; i<4; i++) row.appendChild(td[i]); // Append row to table so that it appears on screen tbody.appendChild(row); // Increment the number of Code rows //document.CallsReceived.CodeCount1.value = parseInt(document.CallsReceived.CodeCount1.value) + 1; var ccObject; ccObject=document.getElementById('HDonCallReport_CodeCount1'); ccObject.value=parseInt( ccObject.value ) + 1; }; // Include the function to delete a row - force them to have at least one row (i.e cannot delte only row) function HDonCallReport_deleteCallsReceived() { var tbody = document.getElementById('CallsReceived').getElementsByTagName("TBODY")[0]; form = document.CallsReceived; // Timesheetform is the name of your form if(tbody.rows.length > 2) // +1 because we don't count header row { tbody.deleteRow(tbody.rows.length-1); // Decrement the number of Codes //document.CallsReceived.CodeCount1.value = parseInt(document.CallsReceived.CodeCount1.value) - 1; var ccObject; ccObject=document.getElementById('HDonCallReport_CodeCount1'); ccObject.value=parseInt( ccObject.value ) - 1; } else { alert('There must be at least one row for calls received. Tip: Write "None" and the current time if there were no calls. (All boxes must be completed)'); } }; </script> Partial PHP <!--<meta http-equiv="refresh" content="5;url=home.php"> --> <?php } else { //if the form has been submitted if(isset($_POST['submit'])) { //another check to see if the form has been submitted if($_POST['submit'] == 1) { //save the user's choices from the first form $_SESSION['McFrAckRA1'] = $_POST['McFrAckRA1']; $_SESSION['McFrAckRA2'] = $_POST['McFrAckRA2']; $_SESSION['McFrAckCheckIn'] = $_POST['McFrAckCheckIn']; $_SESSION['McFrAckMidCheck'] = $_POST['McFrAckMidCheck']; $_SESSION['McFrAckCheckOut'] = $_POST['McFrAckCheckOut']; $_SESSION['MontRA1'] = $_POST['MontRA1']; $_SESSION['MontRA2'] = $_POST['MontRA2']; $_SESSION['MontCheckIn'] = $_POST['MontCheckIn']; $_SESSION['MontMidCheck'] = $_POST['MontMidCheck']; $_SESSION['MontCheckOut'] = $_POST['MontCheckOut']; $_SESSION['TateRA1'] = $_POST['TateRA1']; $_SESSION['TateRA2'] = $_POST['TateRA2']; $_SESSION['TateCheckIn'] = $_POST['TateCheckIn']; $_SESSION['TateMidCheck'] = $_POST['TateMidCheck']; $_SESSION['TateCheckOut'] = $_POST['TateCheckOut']; $_SESSION['HundleyRA'] = $_POST['HundleyRA']; $_SESSION['HundleyCheckIn'] = $_POST['HundleyCheckIn']; $_SESSION['HundleyMidCheck'] = $_POST['HundleyMidCheck']; $_SESSION['HundleyCheckOut'] = $_POST['HundleyCheckOut']; $_SESSION['SouthSideRA'] = $_POST['SouthSideRA']; $_SESSION['SouthSideCheckIn'] = $_POST['SouthSideCheckIn']; $_SESSION['SouthSideMidCheck'] = $_POST['SouthSideMidCheck']; $_SESSION['SouthSideCheckOut'] = $_POST['SouthSideCheckOut']; $_SESSION['RadioCheck'] = $_POST['RadioCheck']; $_SESSION['CampusTone'] = $_POST['CampusTone']; //if we are on the second step display the form if($_GET['step'] == 2) { ?> <h2>Step 2 of 2<br /><br /> <form action="OnCallReport.php?step=1" id="step2" method="post" name="step2" onSubmit="" /> <input type="hidden" value="<?php echo htmlentities($_POST['McFrAckRA1']); ?>" name="McFrAckRA1" /> <input type="hidden" value="<?php echo htmlentities($_POST['McFrAckRA2']); ?>" name="McFrAckRA2" /> <input type="hidden" value="<?php echo htmlentities($_POST['McFrAckCheckIn']); ?>" name="McFrAckCheckIn" /> <input type="hidden" value="<?php echo htmlentities($_POST['McFrAckMidCheck']); ?>" name="McFrAckMidCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['McFrAckCheckOut']); ?>" name="McFrAckCheckOut" /> <input type="hidden" value="<?php echo htmlentities($_POST['MontRA1']); ?>" name="MontRA1" /> <input type="hidden" value="<?php echo htmlentities($_POST['MontRA2']); ?>" name="MontRA2" /> <input type="hidden" value="<?php echo htmlentities($_POST['MontCheckIn']); ?>" name="MontCheckIn" /> <input type="hidden" value="<?php echo htmlentities($_POST['MontMidCheck']); ?>" name="MontMidCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['MontCheckOut']); ?>" name="MontCheckOut" /> <input type="hidden" value="<?php echo htmlentities($_POST['TateRA1']); ?>" name="TateRA1" /> <input type="hidden" value="<?php echo htmlentities($_POST['TateRA2']); ?>" name="TateRA2" /> <input type="hidden" value="<?php echo htmlentities($_POST['TateCheckIn']); ?>" name="TateCheckIn" /> <input type="hidden" value="<?php echo htmlentities($_POST['TateMidCheck']); ?>" name="TateMidCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['TateCheckOut']); ?>" name="TateCheckOut" /> <input type="hidden" value="<?php echo htmlentities($_POST['HundleyRA']); ?>" name="HundleyRA" /> <input type="hidden" value="<?php echo htmlentities($_POST['HundleyCheckIn']); ?>" name="HundleyCheckIn" /> <input type="hidden" value="<?php echo htmlentities($_POST['HundleyMidCheck']); ?>" name="HundleyMidCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['HundleyCheckOut']); ?>" name="HundleyCheckOut" /> <input type="hidden" value="<?php echo htmlentities($_POST['SouthSideRA']); ?>" name="SouthSideRA" /> <input type="hidden" value="<?php echo htmlentities($_POST['SouthSideCheckIn']); ?>" name="SouthSideCheckIn" /> <input type="hidden" value="<?php echo htmlentities($_POST['SouthSideMidCheck']); ?>" name="SouthSideMidCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['SouthSideCheckOut']); ?>" name="SouthSideCheckOut" /> <input type="hidden" value="<?php echo htmlentities($_POST['RadioCheck']); ?>" name="RadioCheck" /> <input type="hidden" value="<?php echo htmlentities($_POST['CampusTone']); ?>" name="CampusTone" /> <table style="border: 1px solid #A42224;" width="100%" id="CallsReceived"> <b><p><font size="3" color="Black">Calls Received:</font></p></b> <tr> <td > <b>Time</b></td> <td > <b>Location</b></td> <td > <b>Who Called</b></td> <td ><b>Response</b></td> </tr> <tr> <td > <input id="Time_1" name="Time_1" size="20" value="<?php echo htmlentities($_POST['Time_1']); ?>" onblur="validateTimePicker(this)" /> <img src="gif/timepicker.gif" align="top" onclick="selectTime(this,document.getElementById('Time_1'));" STYLE="cursor:hand" /> </td> <td > <input id="Location_1"" name="Location_1" size="30" value="<?php echo htmlentities($_POST['Location_1']); ?>" /> </td> <td > <input id="WhoCalled_1" name="WhoCalled_1" size="30" value="<?php echo htmlentities($_POST['WhoCalled_1']); ?>" /> </td> <td > <textarea rows="2" id="Response_1" name="Response_1" cols="30" /><?php echo htmlentities($_POST['Response_1']); ?></textarea> </td> </tr> </table> <tr> <input type = "hidden" id = "HDonCallReport_CodeCount1" name= "HDonCallReport_CodeCount1" value= "1"> <a href="#" onclick="HDonCallReport_addCallsRecieved(); return false">Add Another Call</a> <a href="#" onclick="HDonCallReport_deleteCallsReceived(); return false">Delete Last Row</a> </tr> <br /> <br /> <table style="border: 1px solid #A42224;" width="100%"> <tr> <td align="center"> Final Comments for the Evening: </td> <td> <textarea rows="4" name="FinalComments" cols="40"><?php echo htmlentities($_POST['FinalComments']); ?></textarea> </td> <td> ORL Follow-up (if Necessary): </td> <td> <textarea rows="4" name="ORLFollowUp" cols="40"><?php echo htmlentities($_POST['ORLFollowUp']); ?></textarea> </td> </tr> </table> <table align="right" width="100%"> <tr> <td> <p align="right"> <input type="submit" value="Previous" /> <input type="button" value="Finish" title="Click here to review form" onclick="submitForm();" /> </p> </td> </tr> </table> </form> </h2> <?php } } } else { ?> Quote Link to comment https://forums.phpfreaks.com/topic/70481-repost-new-row-in-multi-form-wizard/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.