te entiendo y me resulta pero solo cuando le doy al click + o sea agrego una caja de texto. te dejo mi codigo con el validador de la primera caja para que chequees en que falla.
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> html,body {
margin:0px;
padding:0px;
min-height:100%;
font-family: Verdana;
font-size: 12px;
color: #FFF;
background:#000;
}
input {
font-family: Verdana;
color: #111111;
font-size: 10px;
background-color: #D9EA97;
border-color: #111111;
text-decoration: none;
border: #111111 2px solid;
}
input[disabled] {
font-family: Verdana;
color: #FFFFFF;
font-size: 10px;
background-color: #999999;
border-color: #999999;
text-decoration: none;
border: #111111 2px solid;
}
a:visited { color: #666666;text-decoration: none}
a:Link{color: #666666; text-decoration: none;}
a:hover{color: #93CB0A;text-decoration: none}
a { outline:none; }
<script type="text/javascript"> <?php
if(isset($generar)){$contador=$generar + 1;}
else{$contador=1;}
echo 'var contador='.$contador;
?>
function agregar(){
var tabla=document.getElementById("tabla").getElementsByTagName("tbody")[0];
var tr=document.createElement("tr");
var td=document.createElement("td");
td.innerHTML='
<div align="center" style="height:7px;"></div><div align="center"><input type="text" name="titulo[]" size="50"></div>';
tr.appendChild(td);
tabla.appendChild(tr);
contador++;
if(contador==4)
document.getElementById('masmas').disabled=true;
}
function quitar(){
var tabla=document.getElementById("tabla").getElementsByTagName("tbody")[0];
var ultima_fila=tabla.rows.length-1;
if(ultima_fila>0){
tabla.removeChild(tabla.getElementsByTagName("TR").item(ultima_fila));
contador--;
if(contador<=4)
document.getElementById('masmas').disabled=false;
}
}
<script type="text/javascript"> <?php
if(isset($generar2)){$contador2=$generar2 + 1;}
else{$contador2=1;}
echo 'var contador2='.$contador2;
?>
function agregar2(){
var tabla=document.getElementById("tabla2").getElementsByTagName("tbody")[0];
var tr=document.createElement("tr");
var td=document.createElement("td");
td.innerHTML='
<div align="center" style="height:7px;"></div><div align="center"><input type="text" name="titulo2[]" size="50"></div>';
tr.appendChild(td);
tabla.appendChild(tr);
contador2++;
if(contador2==4)
document.getElementById('masmas2').disabled=true;
}
function quitar2(){
var tabla=document.getElementById("tabla2").getElementsByTagName("tbody")[0];
var ultima_fila2=tabla.rows.length-1;
if(ultima_fila2>0){
tabla.removeChild(tabla.getElementsByTagName("tr").item(ultima_fila2));
contador2--;
if(contador2<=4)
document.getElementById('masmas2').disabled=false;
}
}
<script languaje="javascript"> function validar(formulario)
{
if (document.formulario.elements['titulo[]'][0].value.length == "")
{
alert("Ingrese el primer titulo");
formulario.elements['titulo[]'][0].focus();
return (false);
}
return (true);
}
<?php
if (isset($_POST[enviar]))
{
$caprow = $_POST['titulo'];
$caprow2 = $_POST['titulo2'];
for($i=0;$i<=3;$i++) {
if ($caprow[$i] == ""){$caprow[$i] = "no_disponible";}else{$caprow[$i] = $caprow[$i];}
if ($caprow2[$i] == ""){$caprow2[$i] = "no_disponible";}else{$caprow2[$i] = $caprow2[$i];}
echo "$caprow[$i] - $caprow2[$i]<br />";
}
}
?>
<form name="formulario" action="cc.php" method="POST" onsubmit="return validar(this)" style="margin:0;padding:0;"> <div align="left" style="margin:auto;width:780px;"> <input type="button" value=" + " onClick="agregar();" id="masmas" title="Agregar Celda"> <input type="button" value=" - " onClick="quitar();" id="menos" title="Quitar Celda"> <?php
$tabin = "33";
$tabinn = "200";
echo '<table border="0" id="tabla" width="100%" align="center" cellpadding="0" cellspacing="0">';
for($x=1; $x<=1; $x++){
$ttab = $tabin + $x;
$ttabn = $tabinn + $x;
echo "<tr><td align=\"center\">";
echo "
<input type=\"text\" name=\"titulo[]\" size=\"50\" />";
}
?>
<div align="left" style="margin:auto;width:780px;"> <input type="button" value=" + " onClick="agregar2();" id="masmas2" title="Agregar Celda"> <input type="button" value=" - " onClick="quitar2();" id="menos2" title="Quitar Celda"> <?php
$tabin = "33";
$tabinn = "200";
echo '<table border="0" id="tabla2" width="100%" align="center" cellpadding="0" cellspacing="0">';
for($x2=1; $x2<=1; $x2++){
$ttab = $tabin + $x2;
$ttabn = $tabinn + $x2;
echo "<tr><td align=\"center\">";
echo "
<input type=\"text\" name=\"titulo2[]\" size=\"50\" />";
}
?>
<div align="center"><input type="submit" name="enviar" value="Enviar" /></div>
A lo que voy yo, es que si presiono sin hacer nada envia el formulario, pero si creo dos cajas de texto con el primer boton agregar hay me salta el alert.
gracias por la ayuda :D