Archief - dynamische formitems toevoegen aan form

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

QuietKillah

Legacy Member
Kheb dus geprobeerd wat javascript in men php te steken om zo men form dynamisch te kunnen vergroten.
Gisteren werkte die code, vandaag raar maar waar, niet meer :p

enig idee hoe dit zou komen?


PHP:
<?php
		// dbConfig.php is a file that contains your
		// database connection information. This
		// tutorial assumes a connection is made from
		// this existing file.
		include ("dbConfig.php");
?>
<script type="text/javascript">
var ct = 1;
function newhole()
{
	ct++;
	var div1 = document.createElement('div');
	div1.id = "newhole" + ct;
	// link to delete extended form elements
	var delLink = '<div style="text-align:right;margin-right:65px"><a href="javascript:delIt('+ "newhole" + ct +')">Del</a></div>';
	div1.innerHTML = document.getElementById('newhole').innerHTML + delLink;
	document.getElementById('tournamentform').appendChild(div1);

}
// function to delete the newly added set of elements
function delIt(eleId)
{
	d = document;
	var ele = d.getElementById(eleId);
	var parentEle = d.getElementById('tournamentform');
	parentEle.removeChild(ele);

}
</script>


<?

//Input vaildation and the dbase code
		if ( $_GET["op"] == "reg" )
  {
  $bInputFlag = false;
  foreach ( $_POST as $field )
		{
		if ($field == "")
	{
	$bInputFlag = false;
	}
		else
	{
	$bInputFlag = true;
	}
		}
  // If we had problems with the input, exit with error
  if ($bInputFlag == false)
		{
		echo "U heeft niet alles correct ingevuld."
	."Gelieve nogmaals te proberen";
		}else{
		
		}
		
  // Fields are clear, add user to database
  //  Setup query
  $naam = $_POST['naam'];
  $begin = $_POST['begin'];
  $einde = $_POST['einde'];
  $id = $_COOKIE['valid_id'];
  $q = "INSERT INTO tornooi(tornooiNaam,tornooiBegin,tornooiEinde,clubID) VALUES ('$naam','$begin','$einde','$id')";
  
  $r = mysql_query($q);
  
  $len = count($_POST['holenaam']);
  
  	for ($i=0; $i < $len; $i++)
  	{
  		$holenaam = $_POST['holenaam'][$i];
  		$holepar = $_POST['holepar'][$i];
  		$q2 = "INSERT INTO hole(holeNaam,holePar) VALUES ('$holenaam','$holepar')";
  		$r2 = mysql_query($q2);
  		
  		$sql = "SELECT * FROM hole WHERE holeNaam='$holenaam'";
  		$resultaat = mysql_query($sql);
  		$holeId = 0;
  		while ($obj = mysql_fetch_object($resultaat))  
  		{ $holeId ="$obj->holeID";
  		}
  		
  		
  		$holenaam = $_POST['holenaam'][$i];
  		$holepar = $_POST['holepar'][$i];
  		$q3 = "INSERT INTO holetornooi(holeID,tornooidID) VALUES ('$holeId','$id')";
  		$r3 = mysql_query($q3);
  		
  		if($r & $r2 & $r3){echo "great succes!";}
  
  	}
  
		
  //  Run query
  
  
  // Make sure query inserted user successfully
  if ( !mysql_insert_id() )
		{
		echo $naam;
		echo "</br>";
		echo $begin;
		echo "</br>";
		echo $einde;
		echo "</br>";
		echo $id;
		echo "</br>";
		echo mysql_error();
		//die("Error: Uw tornooi werd niet toegevoegd aan onze database.");
		}
  else
		{
		// Redirect to thank you page.
		
		
		//Header("Location: register.php?op=thanks");
		}
  } // end if


//The thank you page
		elseif ( $_GET["op"] == "thanks" )
  {
  echo "<h2>Thanks for registering your tournament!</h2>";
  }
  
//The web form for input ability
		else
  {
  //
  echo "<form action=\"?op=reg\" method=\"POST\">\n";
  echo "<div id=\"tournamentform\">\n";
  echo "tornooi Naam: <input name=\"naam\" MAXLENGTH=\"16\"><br />\n";
  echo "tornooi Begin: <input type=\"datetime\" name=\"begin\"><br />\n";
  echo "tornooi Einde: <input type=\"datetime\" name=\"einde\"><br />\n";
  ?>
  <a href="javascript:newhole()">Hole toevoegen</a>
  <div id="newhole1">
  <tr><td>Hole naam:</td><td><input type="text" name="holenaam[]" maxlength="30"></td></tr>
  <tr><td>Par:</td><td><input type="number" name="holepar[]" maxlength="30"></td></tr>
  </div>
  <?
  echo "</div>";
  echo "<input type=\"submit\" name=\"toevoegen\">\n";
  echo "</form>\n";
  }
		// EOF
		?>

<?php include('memberinfo.php')?>

-BVR-

Legacy Member
Ge begint uw tweede php-code met <? ipv <?php

Zou kunnen dat dat ook mag hoor, ik weet het niet. Hangt dat niet van server tot server af? ENLIGHTEN ME

QuietKillah

Legacy Member
is eerder slordigheid dan wat anders tbh :p maar werkt ook zo dusja. heb geen idee of het afhangt van server al dan niet. maar heb voor de zekerheid toch <?php van gemaakt. dit verandert echter niks aan mijn probleem

Zero Grav

Legacy Member
Dat kan gisteren toch nooit gewerkt hebben hoor. :)

Ge doet in uw newhole() functie het volgende:
Code:
div1.innerHTML = document.getElementById('newhole').innerHTML + delLink;

Terwijl er geen enkel element bestaat met id #newhole en hij dus null gaat teruggeven. Daardoor bestaat innerHTML ook niet en geeft em daar een error op. Wellicht bedoelt ge newhole1 daar om de oorspronkelijke div zijn inhoude te kopiëren?

QuietKillah

Legacy Member
ow snap .. idd :)
had ik over het oog gezien. ty!

vroeger noemde die #newhole1, #newhole. zal dat na het veranderen wss niet meer getest hebben, silly me :p

ty voor hulp!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan