Hola,
Necesito ayuda con un formulario que he creado, casi todo el formulario tiene campo de texto, y el campo de texto no me da ningún problema al enviarlo, pero le he puesto un efecto jquery para que el usuario vaya añadiendo campos de testo, y no consigo que esa parte llegue en el email. Os dejo aquí el código para ver si podéis ayudarme por que me estoy volviendo loca.
<link href="estilo1.css" rel="stylesheet" type="text/css" media="screen" />
<script src="java/js/jquery.js" type="text/javascript"></script>
<script src="java/js/mobilyslider.js" type="text/javascript"></script>
<script src="java/js/init.js" type="text/javascript"></script>
<link href="java/css/default.css" rel="stylesheet" type="text/css" />
<link href="print.css" rel="stylesheet" type="text/css" media="print" />
<script type="text/javascript">
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>
<script language="javascript" type="text/javascript"> /* Abrimos etiqueta de código Javascript */
/* Partimos por definir una variable llamada posicionCampo. Esta variable servirá como índices para marcar cuantos campos se han agregado dinámicamente. La inicializamos en 1, ya que la primera llamada ocurrirá cuando no hayan campos agregados */
var posicionCampo=1;
/* Declaramos la función agregarUsuario( ) */
function agregarUsuario(){
/* Declaramos una variable llamada nuevaFila y a ella le asignamos la recuperación del elemento HTML designado por el id tablaUsuarios. En este caso, la tabla en la que manejamos los campos dinámicamente y llamamos a la función insertRow para agregar una fila */
nuevaFila = document.getElementById("tablaUsuarios").insertRow(-1);
/* Asignamos a la propiedad id de nuevaFila el valor de posicionCampo, que inicializamos en 1 */
nuevaFila.id=posicionCampo;
/* Luego en otra variable llamada nuevaCelda, agregaremos una celda a la tabla, mediante la función insertCell */
nuevaCelda=nuevaFila.insertCell(-1);
/* Con la celda creada, insertamos dinámicamente un campo de texto, el cual almacenaremos en un array llamado nombre, con una posición equivalente a la variable posicionCampo. Una vez terminado, repetimos la acción para el sitio Web y correo, asignando al array respectivo */
nuevaCelda.innerHTML="<td><input type='text' size='20′ name='txtreferencia["+posicionCampo+"]' ></td>";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td> <input type='text' size='60′ name='txtmodelo["+posicionCampo+"]' ></td>";
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td> <input type='text' size='10′ name='txtcantidad["+posicionCampo+"]' ></td>";
/* Finalmente añadimos una última celda para las acciones y ahí agregamos un botón llamado Eliminar, el cual al ser presionado (definiendo la propiedad onClick), llamará a una función eliminarUsuario, pasando como parámetro la fila correspondiente */
nuevaCelda=nuevaFila.insertCell(-1);
nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
/* Incrementamos el valor de posicionCampo para que empiece a contar de la fila siguiente */
posicionCampo++;
}
/* Definimos la función eliminarUsuario, la cual se encargará de quitar la fila completa del formulario. No es necesario hacer modificaciones sobre este código */
function eliminarUsuario(obj){
var oTr = obj;
while(oTr.nodeName.toLowerCase()!='tr'){
oTr=oTr.parentNode;
}
var root = oTr.parentNode;
root.removeChild(oTr);
}
/* Cerramos el código Javascript */
</script>
</head>
Y LA PARTE DE ENVIAR_PEDIDO:
<?php
@$nombre=$_POST["txtnombre_comercial"];
@$codigo=$_POST["txtcod_comercial"];
@$empresa=$_POST["txtempresa"];
@$cif=$_POST["txtcif"];
@$direccion=$_POST["txtdireccion"];
@$telefono=$_POST["txttelefono"];
@$fax=$_POST["txtfax"];
@$email=$_POST["txtemail"];
@$percontacto=$_POST["txtpercontacto"];
@$nupedido=$_POST["txtnumero_pedido"];
@$referencia=$_POST["txtreferencia"];
@$modelo=$_POST["txtmodelo"];
@$cantidad=$_POST["txtcantidad"];
//Preparamos el mensaje de contacto
$cabeceras = "From: $email\n" //La persona que envia el correo
. "Reply-To: $email\n";
$asunto = "$asunto"; //El asunto
$email_to = "[email protected]"; //cambiar por tu email
$contenido = "Mensage de: $nombre\n"
. "\n"
. "Codigo del comercial: $codigo\n"
. "\n"
. "Empresa: $empresa\n"
. "\n"
. "Cif: $cif\n"
. "\n"
. "Direccion: $direccion\n"
. "\n"
. "Telefono: $telefono\n"
. "\n"
. "Fax: $fax\n"
. "Email: $email\n"
. "\n"
. "Persona de contacto: $percontacto\n"
. "\n"
. "Numero del pedido: $nupedido\n"
. "\n"
. "PEDIDO: \n"
. "\n"
. "Referencia: $referencia\n"
. "\n"
. "Modelo: $modelo\n"
. "\n"
. "Cantidad: $cantidad\n"
. "\n";
@mail($email_to, $asunto ,$contenido ,$cabeceras )
?>