Foros del Web » Programando para Internet » Javascript »

Ayuda WebMaster.

Estas en el tema de Ayuda WebMaster. en el foro de Javascript en Foros del Web. Hola a tod@S. Soy nuevo en esto de los códgios Java, pero la verdad me interesaría mucho saber algo más, ya que dispongo de una ...
  #1 (permalink)  
Antiguo 30/04/2007, 06:46
 
Fecha de Ingreso: abril-2007
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
Ayuda WebMaster.

Hola a tod@S.

Soy nuevo en esto de los códgios Java, pero la verdad me interesaría mucho saber algo más, ya que dispongo de una web empresarial pero ésta carece de muchas particuliaridades que podrian hacerla mucho mejor (es decir, escasea en codigo java y ademas... tampoco se nada sobre PHP que me puedar a mejorarla mucho)..

bueno la verdad es que tengo varias preguntas (que iré dividiendo es bloques) el cual espero (ojala) si alguien pudiera ayudarme, pues le estaria muy agradecido.

bueno mi 1º duda es la siguiente:

tengo una estructura de formulario (es decir <form metho="post" ... etc...) y dentro de este formulario queria resalataros estos 2 campos:

Código HTML:
....
  <tr>
    <td><FONT size="2">Método de cobro electrónico:</FONT></td>
    <td>
      <select [B]name="payment_method"[/B] size="1" style="font-family: Trebuchet MS; font-size: 11px" [B]onChange="egold()"[/B]>
        #LOOP(#Payment_methods)
        <option value="#Payment_methods::id" #Payment_methods::status>#Payment_methods::method</option>
        #ENDLOOP
      </select>
    </td>
  </tr>
  <tr>
    <td><FONT size="2">ID de su cuenta de cobro:</FONT></td>
    <td><input type="text" [B]name="payment_account"[/B] value="#PAYMENT_ACCOUNT" ></td>
  </tr>
....
Como veis realmente son un campo de Selección (él cual solo he configurado con PHP 2 opciones de valores/value "1" y "2" y textos "e-Gold" y "Paypal" respectivamente) y el otro campo es de Texto... bien lo que quisiera hacer, siempre y claro todo sea posible hacerce con un código javascript, es...

Cómo solo hay 2 opciones a eleguir que, el usuario elija la 1º opción (es decir value="1" o Text="e-Gold") se produjera estos efectos:
- Cambio del color del campo texto, name="payment_account", a dorado
- cambio en las propiedades de ESE campo de texto de name="payment_account" añadiendole los atributos size="8" y maxlenght="7"
- Solo se pueden introducirse números y debe ser más de 7 dígitos.

Si por el contrario, el usuario elije la opción 2 (Es decir, value="2" o Text="Paypal") se tendria que producir estos efectos:
- Cambiar color del campo texto, name="payment_account", a plateado
- Cambio de las propiedades de Ese campo de texto name="payment_account" a size="27".
- Debe introducirse una @ de dirección E-mail.

bueno, no tengo ni idea de como tendria que ser el codigo javascript, pero me he "pateado" la web buscando formas de hacerlo y me he creado este codigo que pongo a continuación que, como es lógico, no funciona, pero creo que deberia ser algo parecido al correcto y espero que me ayuden a correguirlo (o a lomejor, el codigo es totalmente diferente, simplemento yo lo que he hecho es coger de allí coger de acá y montarme un "híbrido" de cógido... aunque no funciona...). Poniendo en el campo de seleccion, el evento onChange="egold()" (que tampoco sé si ese evento es o no el correcto...), he puesto este codigo java remezclado:

Código:
<script>
function egold() {
  if (document.forms[0].payment_method.options[document.forms[0].payment_method.SelectedIndex].value = "1") {
     document.forms[0].payment_account.style.color="#DAA520";
     document.forms[0].payment_account.size="8";
     document.forms[0].payment_account.maxlength="7";
     var checkOK = "0123456789";
     var checkStr = document.forms[0].payment_account.value;
     var allValid = true;
     var decPoints = 0;
     var allNum = "";
     for (i = 0; i < checkStr.length; i++) {
       ch = checkStr.charAt(i);
       for (j = 0; j < checkOK.length; j++)
         if (ch == checkOK.charAt(j))
           break;
       if (j == checkOK.length) {
         allValid = false;
         break;
       }
       allNum += ch;
     }
     if (!allValid) {
       alert("Escriba sólo dígitos.");
       document.forms[0].payment_account.focus();
       return (false);
     }
     if (document.forms[0].payment_account.value.length < 7) {
       alert("Escriba los 7 caracteres de su cuenta E-Gold.");
       document.forms[0].payment_account.focus();
       return (false);
     }
  }
  if (document.forms[0].payment_method.options[document.forms[0].payment_method.SelectedIndex].value = "2") {
     document.forms[0].payment_account.style.color="#C0C0C0";
     document.forms[0].payment_account.size="27";
     if ((document.forms[0].payment_account.value.indexOf ('@', 0) == -1)||(document.forms[0].payment_account.value.length < 5)) {
       alert("Escriba la dirección de correo electronico de su cuenta Paypal");
       document.forms[0].payment_account.focus();
       return (false);
     }
  }
}
</script>
(POSDATA, Al campo del formulario, no le he puesto o no tiene ningún campo name="¿¿??"... no se si eso importa mucho..)

bueno, esto solo es una duda, pero no quisiera molestar sobrecargando el post con preguntas... intentare para las otras preguntas patearme como siempre la web haciendo mexcla de codigos... haber si me sale uno bueno.. en cuanto a esta duda espero que me hecheis una mano (espero que no al cuello) porque no logro dar con la tecla este codigo...

saludos
  #2 (permalink)  
Antiguo 30/04/2007, 12:06
 
Fecha de Ingreso: abril-2007
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
Re: Ayuda WebMaster.

bueno lo de MAXLENGHT en la script esta mal, es:

Código:
...
    document.forms[0].payment_account.setAttribute("maxlength", "7");
...
y debi poner mejor el codigo HTML, seria algo así:

Código:
<form action="#SITE_URL/info.php?sid=#SID" method="post">
 <table width="100%" style="border: 1 solid #eaeaea;">
   <tr>
    <td><FONT size="2">Método de cobro electrónico:</FONT></td>
    <td>
      <select name="payment_method" size="1" style="font-family: Trebuchet MS; font-size: 11px" onChange="egold()">
        <option value="1" selected >e-Gold</option>
		<option value="2">Paypal</option>
      </select>
    </td>
  </tr>
  <tr>
    <td><FONT size="2">ID de su cuenta de cobro:</FONT></td>
    <td><input type="text" name="payment_account"></td>
  </tr>
  </table>
  </form>
si digo la verdad, es no he encontrado por la web, ninguna forma de combinar en javascript los condicionantes "IF" "ESLE" con valores elejidos en un campo <SELECT>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.