Problema con HTML y JavaScript

Hola chavales, una duda

Estoy haciendo una web, y me gustaria hacer un enlace a un pagina, la cual salga en modo popup, sin scroll, q no se pueda redimensionar y no se vea la barra de direcciones.

Lo estaba intentando hacer con javascript pq con html5/css3 no tengo ni idea de como se hace pero no consigo quitar todo :(

El codigo que uso es este:

<!DOCTYPE html>
<head>
<title>Formulario Registro Clientes</title>
<link rel="stylesheet" type="text/css" href="./css/estilo.css" media="all"/>
<script language=javascript>
function ventanaSecundaria (URL){
   window.open(URL,"ventana1","width=900,height=900,scrollbars=no,Resizable=no,Directories=no,Location=no,menubar=no,status=no,toolbar=no")
}
</script>
</head>
<body>
   <header>
      
        <table class="center">
           <tr><td colspan="2" class="textotabla">Seleccione una de las siguientes opciones:</td></tr>
                       <tr>
                 <td class="menu1"><<a href="javascript:ventanaSecundaria('empresa.html')">Empresas</a></td>
                <td class="menu1"><a href="particular.html" target="_blank"> Particulares</a></td>
         </tr>
      </table>
        </div>

      </div>
   </header>
</body>
</html>


Gracias a todos!
<script type="text/javascript">
mejor que lo que tienes ;)

luego directories esta obsoleto, y no se si tendras que poner todos en minuscula, pero en este link estan todos asi
http://www.w3schools.com/jsref/met_win_open.asp
Quizá la forma más sencilla y elegante sería meter un fancybox con Jquery
Aquí tienes unos ejemplos muy sencillos:
http://fancyapps.com/fancybox/#examples

    <!DOCTYPE html>
    <head>
    <title>Formulario Registro Clientes</title>
    <link rel="stylesheet" type="text/css" href="./css/estilo.css" media="all"/>
    <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.css" media="all"/>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
   <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    <script language="javascript" src="http://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
   <script type="text/javascript">
        $(document).ready(function() {
            $(".ifancybox").fancybox({
            'type' : 'iframe',
            'height': '900px',
            'width': '900px',
            'iframe': {
                  scrolling : 'no'
            }
         });
        });
    </script>
    </head>
    <body>
       <header>
         
            <table class="center">
               <tr><td colspan="2" class="textotabla">Seleccione una de las siguientes opciones:</td></tr>
                           <tr>
                     <td class="menu1"><a class="ifancybox" href="http://www.terra.es">Empresas</a></td>
                    <td class="menu1"><a href="particular.html" target="_blank"> Particulares</a></td>
             </tr>
          </table>
            </div>

          </div>
       </header>
    </body>
    </html>
LomaK escribió:Quizá la forma más sencilla y elegante sería meter un fancybox con Jquery
Aquí tienes unos ejemplos muy sencillos:
http://fancyapps.com/fancybox/#examples

    <!DOCTYPE html>
    <head>
    <title>Formulario Registro Clientes</title>
    <link rel="stylesheet" type="text/css" href="./css/estilo.css" media="all"/>
    <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.css" media="all"/>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
   <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    <script language="javascript" src="http://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
   <script type="text/javascript">
        $(document).ready(function() {
            $(".ifancybox").fancybox({
            'type' : 'iframe',
            'height': '900px',
            'width': '900px',
            'iframe': {
                  scrolling : 'no'
            }
         });
        });
    </script>
    </head>
    <body>
       <header>
         
            <table class="center">
               <tr><td colspan="2" class="textotabla">Seleccione una de las siguientes opciones:</td></tr>
                           <tr>
                     <td class="menu1"><a class="ifancybox" href="http://www.terra.es">Empresas</a></td>
                    <td class="menu1"><a href="particular.html" target="_blank"> Particulares</a></td>
             </tr>
          </table>
            </div>

          </div>
       </header>
    </body>
    </html>



Ostia! Asi queda cojonudo. Muchisimas gracias.

Ahora solo me hace falta saber como mierdas funciona la función mail (para enviar el texto del formulario al correo), ya que estoy probando desde eshost y desde localhost con xampp y no hay manera de hacerlo funcionar

Un saludo!

EDITO para añadir el código.

Si uso XAMPP configurando el php.ini no me funciona, al igual que si lo uso desde el servidor ESHOST, el cual se supone que si q tiene activada la funciona mail ().

<?php mail("mi_email@gmail.com","Prueba","jajajajaja"); ?>
Hasta donde recuerdo, normalmente viene siendo necesario configurar la cuenta del remitente.
Para enviar correos con php yo lo hago con phpMailer, conectandome al smtp de la cuenta de correo.

http://phpmailer.worxware.com/?pg=examplebgmail
LomaK escribió:Hasta donde recuerdo, normalmente viene siendo necesario configurar la cuenta del remitente.
Para enviar correos con php yo lo hago con phpMailer, conectandome al smtp de la cuenta de correo.

http://phpmailer.worxware.com/?pg=examplebgmail



Te quiero XD

Eso lo descubri ayer y vi las posibilidades que tiene.
Voy a ponerme al lio y te voy diciendo ;)

Saludos!
Bueno...pues volviendo al hilo

Ya tengo todo hecho y funcionando, pero hay una ultima cosilla que no se muy bien como hacer.

Vereis, en el formulario, hay una casilla donde al poner un número (no se si hacerlo con un input type number o con un range, tp creo q importe mas allá de ser bonito). La cosa es que según el numero que se elija, quiero que salgan dos inputs de texto x cada numero (si eliges el 1, dos casillas, si eliges el 2, 4 casillas, ....) y que al darle a enviar, se guarde esa información en un text oculto.

Es eso posible? habría mucho follon?

Un saludo!
gorK66 escribió:
<script type="text/javascript">
mejor que lo que tienes ;)

luego directories esta obsoleto, y no se si tendras que poner todos en minuscula, pero en este link estan todos asi
http://www.w3schools.com/jsref/met_win_open.asp


En HTML5 no es necesario pone el atributo type a script. Hasta el momento no lo he visto nunca.

emuhell escribió:Bueno...pues volviendo al hilo

Ya tengo todo hecho y funcionando, pero hay una ultima cosilla que no se muy bien como hacer.

Vereis, en el formulario, hay una casilla donde al poner un número (no se si hacerlo con un input type number o con un range, tp creo q importe mas allá de ser bonito). La cosa es que según el numero que se elija, quiero que salgan dos inputs de texto x cada numero (si eliges el 1, dos casillas, si eliges el 2, 4 casillas, ....) y que al darle a enviar, se guarde esa información en un text oculto.

Es eso posible? habría mucho follon?

Un saludo!


Si lo haces con jQuery, es cosa de 5 minutos. Y hay varias formas. Si quieres que los inputs que salen aparezcan después de darle a un botón, tan solo tienes que llamar a la función que lo haga con click(), o si quieres que aparezcan cuando escribes, pues con .keyup().

Luego la función es sencilla. Supongo que sabes como usar selectores en jQuery...es igual que en CSS. ('#idInput').val(). Con eso cogerías el valor del input que tuviese esa id. Imagino que querrás sacar un número de inputs igual a el número introducido elevado al cuadrado. Para eso usas Math.pow() y obtendrás el número de inputs. Luego con un simple bucle for con 16 iteraciones añades el input con .html(), por ejemplo.

Y si quieres coger el valor de esos inputs, en el propio bucle puedes hacerlo. Les das una id rollo input1, input2, dependiendo del número que sea y cuando los recorres les coges el valor con val() y lo guardas donde sea.
Alecs7k escribió:
Si lo haces con jQuery, es cosa de 5 minutos. Y hay varias formas. Si quieres que los inputs que salen aparezcan después de darle a un botón, tan solo tienes que llamar a la función que lo haga con click(), o si quieres que aparezcan cuando escribes, pues con .keyup().

Luego la función es sencilla. Supongo que sabes como usar selectores en jQuery...es igual que en CSS. ('#idInput').val(). Con eso cogerías el valor del input que tuviese esa id. Imagino que querrás sacar un número de inputs igual a el número introducido elevado al cuadrado. Para eso usas Math.pow() y obtendrás el número de inputs. Luego con un simple bucle for con 16 iteraciones añades el input con .html(), por ejemplo.

Y si quieres coger el valor de esos inputs, en el propio bucle puedes hacerlo. Les das una id rollo input1, input2, dependiendo del número que sea y cuando los recorres les coges el valor con val() y lo guardas donde sea.


Bueno!

Ya lo tengo todo maqueado.

La forma en la que se crean los inputs dinámicos, es que cada input q se crea es nombrei+1, esto es, nombre1, nombre2, nombre3, nombre4,....

El unico problema, es que a la hora de mandar el formulario por correo no se como hacer para que el phpmail tome todos los datos de esos campos (lo mismo son nombre1 al 3 que nombre1 al 128!) de forma automática.

Un saludo!
emuhell escribió:Bueno!

Ya lo tengo todo maqueado.

La forma en la que se crean los inputs dinámicos, es que cada input q se crea es nombrei+1, esto es, nombre1, nombre2, nombre3, nombre4,....

El unico problema, es que a la hora de mandar el formulario por correo no se como hacer para que el phpmail tome todos los datos de esos campos (lo mismo son nombre1 al 3 que nombre1 al 128!) de forma automática.

Un saludo!


Tienes muchas formas de hacerlo, así a priori, una forma es que puedes guardarte en JS el número total de campos de tipo nombre que se han creado en un input hidden (llamemosle num_nombres) y cuando recojas el POST con PHP te haces un buclecillo for que vaya leyendo cada nombre $_POST['nombre'.$i] . sólo tendrás que recorrer el for desde 1 hasta $i, siendo $i = $_POST['num_nombres']
Llevo toda la tarde liado, y creo que he entrado en un bucle del que ya no se por donde pijo salir xD

Resulta que al crear los campos, estos se crean en un array no? (en un prit_r $request sale tal que .. [modelo] => Array ( [1] => 11 [2] => 33 ) [matr] => Array ( [1] => 22 [2] => 44 )

EDITO:
Bueno pues ya he conseguido con Javascript sacar el numero de campos que hay en total(si salen 2 , pues 2 y si salen 5 pues 5).
Ahora a por el resto...
A ver si

EDITO 2:
Poniendo este código:
for ($i = 1; $i <= $ntotal; $i++ ) {
    echo $i;
  }
  $modelo = $_POST['modelo'.$i]


Me dice:
Notice: Undefined index: modelo3 in C:\Servidor\XAMPP\htdocs\WEB\sendb.php

Y en el print:
Array ( [emp] => A [pob] => A [prov] => Alava [modelo] => Array ( [1] => 11 [2] => 33 ) [matr] => Array ( [1] => 22 [2] => 44 ) [ntotal] => 2 )
Bueno....pues ya he avanzado, solo me queda una última cosa, a ver si sabeis como poder hacerla:

El formulario dinámico crea unas tablas:
<td><label>Modelo:</label></td><td><input type='text' placeholder='Modelo' name='coche[" + posicionCampo + "][modelo]'></td>
<td><label>Matr&iacute;cula:</label></td><td><input type='text' placeholder='Matr&iacute;cula' size='10' name='coche[" + posicionCampo + "][matricula]'></td>


Al darle a ENVIAR, tengo un php que mediante phpmailer, quiero me envie los resultados a mi correo:
$empresa = $_POST['empresa'];
$mailad = $_POST['mailad'];

$mail->Body    = '
<li><b><u>DATOS DE LA EMPRESA<br/></b></u>
<li><u>Nombre de la empresa:</u> '.$empresa.'
<li>Presenta los siguientes coches:
'foreach ($_POST['coche'] as $posicionCampo => $row){
        echo $row['modelo'] . ' con matricula '  .  $row['matricula'].";"};'';



El problema esta que todas las variables están bien puestas, pero el foreach que uso no se como poder manejarlo como un texto cualquiera para que al darle a enviar en mi correo se vea algo tipo

Presenta los siguientes coches: Renault con matricula 1234ABC, Opel con matrícula 4567UIR, ...

A ver si algún alma caritativa me puede ayudar plis!
11 respuestas