Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/08/2012, 05:48
Soniagb
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Problema jquery + php

Hola, tengo una página en la que pretendo que al pulsar un botón ("Añadir tabla") se cree una tabla. Para ello he puesto que al pulsar dicho botón aparezca una ventana modal jquery en la que me pide el número de filas que va a tener la tabla y el tipo de filas (la tabla es para un cuestionario y el cliente debe elegir si quiere radiobuttons, checkbox o textarea). En esa ventana hay dos botones, Cancelar, cierra la ventana y Aceptar que al pulsarlo quiero que muestre la tabla en la misma página donde tengo el botón "Añadir tabla".
Aquí os dejo lo que tengo a ver si podéis ayudarme, muchas gracias!

panel.php
Código:
<input type="button" onclick="add()" value="Añadir tabla" id="addButton" name="addButton" />

		<div id="contenedorTabla">
		</div>

		<div id="ventana" title="Añadir tabla" style="display:none">
			<table id="nuevaTabla">
				<tr>
					<td>Número de filas</td>
					<td>Tipo de fila</td>
				</tr>	
				<tr>
					<td>
						<select id="numFilas" >
							<option value="1">1</option>
							<option value="2">2</option>
							<option value="3">3</option>
							<option value="4">4</option>
							<option value="5">5</option>
						</select>
					</td>
					<td>
						<select id="tipo" >
							<option value="1">Radio Buttons</option>
							<option value="2">Checkbox</option>
							<option value="3">Textarea</option>
						</select>
					</td>
				</tr>
			</table>
		</div>
funciones.js
Código:
function add(){
	$("#ventana").dialog({
		width: 500,
		height:240,
		buttons: {
			Aceptar: function() {
				numFilas = $("#numFilas").val();
				tipo = $("#tipo").val();
				mensaje = "numFilas="+ numFilas +"&tipo=" + tipo;

				$.ajax({
					type:'get',
					url: '../scripts/creaTabla.scr.php',
					data: mensaje,
					success: function(data){
						$('#contenedorTabla').load();  // creo que así podría cargar la tabla en el div contenedorTabla pero la verdad que no tengo ni idea de como...
					}
				});
			},
			Cancelar: function() {
				$(this).dialog("close");
			}
		}
	});
}
creaTabla.scr.php
Código:
<div id="tabla" >
		<table id="t1">
			<tr id="botonera">
				<td></td>
				<td class="td1"><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" > </input><input class="btEliminar" onclick="eliminar(this)" type="button" name="boton" value="-" ></input></td>
				<td><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" ></input> <input class="btEliminar" onclick="eliminar()" type="button" name="boton" value="-" ></input></td>
				<td><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" ></input> <input class="btEliminar" onclick="eliminar()" type="button" name="boton" value="-" ></input></td>
				<td><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" ></input> <input class="btEliminar" onclick="eliminar()" type="button" name="boton" value="-" ></input></td>
				<td><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" ></input> <input class="btEliminar" onclick="eliminar()" type="button" name="boton" value="-" ></input></td>
				<td><input class="btAnadir" onclick="addColumna()" type="button" name="boton" value="+" ></input> <input class="btEliminar" onclick="eliminar()" type="button" name="boton" value="-" ></input></td>
			</tr>

			<?php
				$link = new conexiondb();
				$sql = "select * from opciones";
				$res=$link->consulta($sql);

				$columnas = mysql_num_rows($res);	// número de columnas de la tabla

				$compara=1;	// inicializa variable de comparación

				while($row = mysql_fetch_array($res)){	// formamos las filas y celdas y agregamos los datos a la tabla

					$celdacontenido="<td><div id=".$row['posicion']." contenteditable>".$texto = $row['texto']."</div></td>";	
					// celdacontenido es la celda en si mismo junto a los datos

					if ($compara==1){
						echo "<tr id='cabecera'>";
						echo '<td><input class="btAnadir" onclick="add()" type="button" name="boton" value="+" ></input></td>'.$celdacontenido;
						
					}	

					if ($compara<>1){
						if ($compara<>$columnas){ 
							echo $celdacontenido;
						}
					}	

					if ($compara==$columnas){
						echo $celdacontenido."</tr>"; 
						$compara = 1;
					}else {
						$compara = $compara +1;
					}
				
				}
				include("../class/clasePreguntas.php");
				$obj = new clasePreguntas();

				$numFilas = $_GET['numFilas'];
    			$tipo = $_GET['tipo'];

    			for($i = 1; $i <= $numFilas; $i++){
        			// ....etc
    			}
			?>			
			
		</table>