Jump to content

Ayuda con script document.writeIn JS


Recommended Posts

Estimados,

 

estoy con un dilema... quizas es muy simple la solucion, pero para mi esta de locos y perdi todo el dia haciendo pruebas con este codigo:

 

 

document.writeln('<INPUT TYPE="hidden" NAME="ITEM '+itemlist+'" VALUE="'+theitem+'"SIZE="40">');

document.writeln('<INPUT TYPE="hidden" NAME="Cantidad '+itemlist+'" VALUE="'+thequantity+'" SIZE="40">');

document.writeln('<INPUT TYPE="hidden" NAME="SubTotal'+itemlist+'" VALUE="'+alterError(itemtotal)+'" SIZE="40">');

 

La funcion de esto, es que ingresa las cantidades de productos como en un carro de compra, pero para enviarlo a traves de un formulario via email...

 

Lo que necesito es sencillo... dejar todo en un linea, ya que al revisar el mail aparece asi:

 

 

ITEM 1: COD8421

Cantidad 1: 1

SubTotal 1: 4990.00

ITEM 2: COD138

Cantidad 2: 50

SubTotal 2: 249500.00

ITEM 3: COD8425

Cantidad 1: 1

SubTotal 1: 4990.00

y lo que necesito es al mail llegue asi:

 

ITEM 1: COD8421 | Cantidad 1: 1 | SubTotal 1: 4990.00

--------------------------------------------------------------------------------------

ITEM 2: COD138 | Cantidad 2: 50 | SubTotal 1: 249500.00

--------------------------------------------------------------------------------------

ITEM 3: COD8425 | Cantidad 3: 1 | SubTotal 1: 4990.00

 

Onda mas ordenado.....

OK, Ojala puedan ayudarme, ya que estoy en perdiendo tiempo con esta modificacion, y las pruebas que he realizado.... o desaparece cierta info, o se desordena mas.

 

 

Espero comentarios,

Saludos y de ante mano gracias.

Link to comment
Share on other sites

colocalo dentro de una tabla de una sola linea

document.writeln('<table><tr><td><INPUT TYPE="hidden" NAME="ITEM '+itemlist+'" VALUE="'+theitem+'"SIZE="40"></td><td><INPUT TYPE="hidden" NAME="Cantidad '+itemlist+'" VALUE="'+thequantity+'" SIZE="40"></td><td><INPUT TYPE="hidden" NAME="SubTotal'+itemlist+'" VALUE="'+alterError(itemtotal)+'" SIZE="40"></td></tr></table>');

Link to comment
Share on other sites

Kurorolucifer: Copie el código tal como lo dejaste, lo incluí en el html, pero sigue llegando todo como el original

 

r_kstro: tal cual, el codigo original es lo que sale en el template y al tratar de modificarlo tiende a

deformarse o deja de funcionar. dejare todo el codigo para que lo vean.

 

Codigo Original

 

<html>

<head>

<title>Formulario</title>

<style type="text/css">

.body {

font-family: Times New Roman;

font-size: 10pt;

font-style: normal;

font-weight: normal;

font-variant: normal;

color: #000000;

}

 

.td {

font-family: Times New Roman;

font-size: 10pt;

font-style: normal;

line-height: normal;

font-weight: normal;

font-variant: normal;

color: #000000;

}

 

 

</style>

<SCRIPT LANGUAGE="JavaScript">

<!--

function Enviar(form) {

for (i = 0; i < form.elements.length; i++) {

if (form.elements.type == "text" && form.elements.value == "") {

alert("Por favor complete todos los campos del formulario"); form.elements.focus();

return false; }

}

form.submit();

}

// -->

</SCRIPT>

</head>

<body bgcolor="#FFFFFF" link="#32468D" vlink="#800080" class="body">

<SCRIPT LANGUAGE="JavaScript">

 

function alterError(value) {

if (value<=0.99) {

newPounds = '0';

} else {

newPounds = parseInt(value);

}

newPence = parseInt((value+.0008 - newPounds)* 100);

if (eval(newPence) <= 9) newPence='0'+newPence;

newString = newPounds + '.' + newPence;

return (newString);

}

 

function showItems() {

index = document.cookie.indexOf("TheBasket");

countbegin = (document.cookie.indexOf("=", index) + 1);

countend = document.cookie.indexOf(";", index);

if (countend == -1) {

countend = document.cookie.length;

}

fulllist = document.cookie.substring(countbegin, countend);

totprice = 0;

 

itemlist = 0;

for (var i = 0; i <= fulllist.length; i++) {

if (fulllist.substring(i,i+1) == '[') {

itemstart = i+1;

} else if (fulllist.substring(i,i+1) == ']') {

itemend = i;

thequantity = fulllist.substring(itemstart, itemend);

itemtotal = 0;

itemtotal = (eval(theprice*thequantity));

temptotal = itemtotal * 100;

var tax = itemtotal / 100 * (0 - 0);

tax = Math.floor(tax * 100)/100

totprice = totprice + itemtotal + tax;

itemlist=itemlist+1;

document.writeln('<INPUT TYPE="hidden" NAME="ITEM '+itemlist+'" VALUE="'+theitem+'"SIZE="40">');

document.writeln('<INPUT TYPE="hidden" NAME="Cantidad '+itemlist+'" VALUE="'+thequantity+'" SIZE="40">');

document.writeln('<INPUT TYPE="hidden" NAME="SubTotal '+itemlist+'" VALUE="'+alterError(itemtotal)+'" SIZE="40">');

} else if (fulllist.substring(i,i+1) == ',') {

theitem = fulllist.substring(itemstart, i);

itemstart = i+1;

} else if (fulllist.substring(i,i+1) == '#') {

theprice = fulllist.substring(itemstart, i);

itemstart = i+1;

}

}

 

document.writeln('<INPUT TYPE="hidden" NAME="Total" VALUE="'+alterError(totprice)+'" SIZE="40">');

 

}

function Total() {

document.writeln(alterError(totprice));

}

 

</SCRIPT>

<center>

<table border="0" cellpadding="0" cellspacing="0" width="640" class="body">

<tr>

<td width="50%"><big><big>Formulario5</big></big></td>

<td width="50%" align="right">[ <a href="carrito.htm">Carrito de Compra</a> | <a href="estado.htm">Estado</a> | Formulario ]</td>

</tr>

<tr>

<td width="100%" colspan="2">

<hr size="1" color="#000000">

</td>

</tr>

<tr>

<td width="100%" colspan="2"></td>

</tr>

</table>

 

<FORM method="post" action="/cgi-bin/enviar.pl" target="_top">

 

<input type=hidden name="recipient" value=[email protected]>

<input type=hidden name="subject" value="Orden de Compra">

<input type=hidden name="redirect" value="http://www.midominio.cl/gracias.htm">

<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT">

<table cols="2" width="370" class="body">

<td width="130"></td>

<td width="270">

</td>

</tr>

<tr><td>Nombre</td><td><input type="text" name="nombre" size=34></td></tr>

<tr><td>Apellido</td><td><input type="text" name="apellido" size=34></td></tr>

<tr><td>Domicilio</td><td><input type="text" name="domicilio" size=34></td></tr>

<tr><td>Ciudad</td><td><input type="text" name="ciudad" size=34></td></tr>

<tr><td>Provincia</td><td><input type="text" name="provincia" size=34></td></tr>

<tr><td>Código Postal</td><td><input type="text" name="cp" size=34></td></tr>

<tr><td>País</td><td><input type="text" name="pais" size=34></td></tr>

<tr><td>E-mail</td><td><input type="text" name="email" size=34></td></tr>

<tr><td>Teléfono</td><td><input type="text" name="telefono" size=34></td></tr>

<tr><td>Fax</td><td><input type="text" name="fax" size=34></td></tr>

 

<SCRIPT LANGUAGE="JavaScript">

showItems();

</SCRIPT>

<tr>

<td>Total:</td>

<td>$

<SCRIPT LANGUAGE="JavaScript">Total()</SCRIPT>

</td>

</tr>

 

<tr>

<td><br><br></td>

<td>

<input type="button" value="Enviar" onClick="return Enviar(this.form)">

<input type="reset" value="Restablecer">

</td>

</tr>

</table>

</form>

 

</center>

</body>

</html>

 

OK espero comentarios...

Edited by r_kstro
Link to comment
Share on other sites

Primero fotofobikko, no doble postees, esta PROHIBIDO.

 

r_kstro: tal cual, el codigo original es lo que sale en el template y al tratar de modificarlo tiende a

deformarse o deja de funcionar. dejare todo el codigo para que lo vean.

Lo que pasa es que en tu codigo no estas mostrando el template de envio del email, porque lo que envia el email es el archivo enviar.pl, por lo que por medio de ese archivo se envia el correo, entonce es ese archivo que toma algun template, o forma el texto del mensaje a enviar, por lo que ahi tienes que modificar el formato del email a enviar.

O simplemente buscar otra forma de enviar el correo, por ejemplo con php

Link to comment
Share on other sites

Primero fotofobikko, no doble postees, esta PROHIBIDO.

 

r_kstro: tal cual, el codigo original es lo que sale en el template y al tratar de modificarlo tiende a

deformarse o deja de funcionar. dejare todo el codigo para que lo vean.

Lo que pasa es que en tu codigo no estas mostrando el template de envio del email, porque lo que envia el email es el archivo enviar.pl, por lo que por medio de ese archivo se envia el correo, entonce es ese archivo que toma algun template, o forma el texto del mensaje a enviar, por lo que ahi tienes que modificar el formato del email a enviar.

O simplemente buscar otra forma de enviar el correo, por ejemplo con php

 

Doctor, ya revise e hice muchas formas para cuadrar el resultado, pero no hay caso. oincluso elimine el archivo ENVIAR.PL, y el formulario llego sin problemas al mail, pero sin ninguna modificacion... creo que hay que ver alguna opcion externa en PHP, no la he encontrado... y la verdad me esta dando la lata y estoy pensando en dejarlo tal cual, y que el usuario o cliente, aprenda a interpretarla.

 

Saludos, y gracias por la ayuda

Link to comment
Share on other sites

Es refácil cumpa, y si es un error de noobs pero aqui estamos para aprender XD....lo que pasa es que la instrucción writeln te envia un salto de carro al final de la instrucción(una pulsación enter, o sea, salta a la sgte linea)...tu code debería ir asi:

 

document.write('<INPUT TYPE="hidden" NAME="ITEM '+itemlist+'" VALUE="'+theitem+'"SIZE="40">');
document.write('<INPUT TYPE="hidden" NAME="Cantidad '+itemlist+'" VALUE="'+thequantity+'" SIZE="40">');
document.writeln('<INPUT TYPE="hidden" NAME="SubTotal'+itemlist+'" VALUE="'+alterError(itemtotal)+'" SIZE="40">');

 

 

PS: por cierto, estoy cesante, soy de Viña, por si alguien sabe algo.

 

Saludos :notonto:

Edited by rob_loser
Link to comment
Share on other sites

no entiendo porque ocupar writeln, no seria correcto aplicar appendChild y manejar todo con fors, y esas vainas?

 

y ocupar phpmailer para que llege como html o ocupar mail y ocupar una cabecera tipo

 

$cabeceras = "From: [email protected]\r\nContent-type: text/html\r\n";

 

o estoy hablando puras weas? :huh:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...