Ejemplo:
Código HTML:
<div>
<form name="ejMultiInput">
Numero de inputs:
<input maxlength="2" name="numInputs" onkeyup="multiplicarInputs(this)" size="5" type="text" />
<br />
<div id="divMultiInputs">
</div>
<input onclick="controlMultiInput()" type="button" value="Comprobar" />
</form>
</div>
Código Javascript:
function multiplicarInputs(text){
var num= text.value
var div='';
for (var i=0;i<num;i++){
var cont=i+1;
div+="<br> Input text "+cont+"<input maxlength='5' name='inputTextMulti[]' size='6' type='text' /> ";
}
$("#divMultiInputs").html(div);
}
Y para realizar la recogida de datos:
En Javascript:
function controlMultiInput(){
if ($("#numInputs").val().length<1){
alert('Especifica el numero de Input text que quieres');
return false;
}
if($("input[name='inputTextMulti[]']")){
for (var i=0; i < $("#numInputs").val(); i++){
var cont=i+1;
if($("input[name='inputTextMulti[]']").get(i).value.length<1){alert('Debes introducir contenido del Input text '+cont); return false;}
}
}else{
if($("input[name='inputTextMulti[]']").length<1){
alert('Debes rellenar el unico Input text');
return false;
}
}
alert('Formulario correcto');
}
$inputs=$_POST['inputTextMulti'];
for ($i=0; $i<count($inputs);$i++){
$cont=$i+1;
if (empty($inputs[$i])){
$fallos.="<br>Debes rellenar introducir contenido para el Input text $cont.";
}
}
if ($fallos!=""){
echo $fallos;
}else{
.... RESTO DEL PROGRAMA
Bueno ahí lo dejo, seguro que hay alguna forma mejor o más optima pero yo lo resolví así, si alguien quiere poner un comentario explicando una forma mejor que no se vea cohibido puesto que la función de este blog es ayudar y mejorar en la medida de lo posible.
Un saludo.