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 { ?> 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
Archived
This topic is now archived and is closed to further replies.