Tag Archive for: formulario

Agregar Borrar campos usando ajax parte 2

Categories: AJAX - Tags: , ,

En un post anterior expliqué como se podían agregar campos usando jquery, varias personas me preguntaron como hacer para borrar un campo específico, pues es muy simple en realidad, veamos:

Agregando campos

Necesitamos hacer que se agreguen campos pero además que estos aparezcan con un link que nos permita borrarlos, además para poder identificarlos vamos a ponerle un contador.

1
2
3
4
5
emails=0;
function agregar() {
    emails=emails+1;
    $("#campos").append('<li class="email'+emails+'"><input type="text" name="email[]" size="25" />&nbsp;&nbsp;<a href="#" onclick="javascript:borrar('+emails+');">Borrar</a></li>');
}

De esta forma se creará un li con una clase email1, email2, email3, etc. y un link con un javascript que invoca a la función borrar(1), borrar(2), etc.

Borrando los campos

La función que borra los campos que ya no requerimos es muy simple, únicamente un selector jquery que busca la clase email1, email2… o la que corresponda y con remove se elimina, ese return false evita que “salte” la página cuando le damos click al link borrar.

1
2
3
4
function borrar(cual) {
    $("li.email"+cual).remove();
    return false;
}

Como ven con sólo un par de líneas ya esta funcionando, espero les sea util este post.

Demo

Agregar campos usando AJAX jquery

Categories: AJAX, javascript - Tags: , ,

Seguro hemos visto algunas páginas ajax en las que piden por ejemplo correo luego podemos apretar un botón “añadir” y se agrega un campo más para insertar un nuevo correo y asi cuantos deseemos; también hay algunos más complicados en los que puedes añadir por ejemplo detalles de tu experiencia laboral en un curriculum.

La idea es los casos mencionados es exactamente la misma (campos mas, campos menos) por cuestión de espacio y tiempo explicaré como funciona la más sencilla para ello debemos tener claros algunos conceptos previos.

Arrays de controles HTML

Como no sabemos cuantos campos quiera añadir el usuario, debemos estar preparados para recibir cualquier cantidad de datos por lo cual vamos a usar un array de controles como este:

1
<input type="text" size="20" name="email[]">

Lo unico distinto con cualquier otro control es que al final del nombre uso unos corchetes.

Manejando arrays de controles con PHP

Normalmente en PHP los campos recibidos llegan con POST o GET según corresponda y podemos manejarlo directamente pero con los arrays se manejan un poco distinto, algo así:

1
2
3
4
5
6
<?php
$emails=$_POST['email'];
for ($i=0; $i<=count($emails); $i++) {
    echo $emails[$i].'<br>';
}
?>

¿Cómo agregar campos?

Para esto voy a usar un link que invoque a una funcion javascript que agrega el campo adicional

1
<a href="#" onclick="agregar();">Agregar</a>

La función usando jquery es muy sencilla basta usar “attend” para que al final agregue un campo adicional

1
2
3
4
5
6
<script type="text/javascript">
function agregar() {
    campo = '<li><label>Email:</label><input type="text" size="20" name="email[]" /></li>';
    $("#emails").append(campo);
}
</script>

El tema de la presentación o de usar alguna imagen ya depende de nuestra hoja de estilos aunque en este ejemplo he usado un sólo campo es posible usando el mismo código para añadir bloques completos de campos.

Ver demo   Descargar

——– Actualización ——-
Varios lectores me preguntaban como hago para borrar los campos ingresado, eso lo ven AQUI

Personalizar CSS de nuestros formularios

Categories: CSS, html - Tags: , ,

Anteriormente expliqué como dar formato a nuestros formularios usando CSS, encontré una herramienta simple que nos hace la vida más fácil, podemos personalizar el color de fondo, los bordes, tipo y color de letra, etc. Y lo mejor de todo podemos descargar toda la hoja de estilos gratis.

Puedes ver esta herramienta online AQUI

No olvidemos que algunas pseudo clases solo funcionan en Firefox y navegadores modernos como por ejemplo : onfocus

Script PHP conversor de monedas simple

Categories: PHP - Tags: ,

Voy a mostrar un pequeño y muy util script para hacer conversion de monedas, podemos agregar cuantas queramos con algunos pequeños cambios.

El Formulario

En este caso voy a poner unicamente un cuadro de texto y un boton submit aunque es posible agregar mas detalles como por ejemplo validacion para evitar el ingreso de cifras en blanco o letras e incluso es posible agregarle un captcha.

1
2
3
4
<form action="index.php" method="post">
    <input type="text" size="30" name="monto" />
    <input type="submit" name="submit" value="convertir" />
   </form>

El formulario no tiene nada de especial simplemente en el action establecemos que envie el valor que deseamos convertir al mismo archivo.

PHP para la conversion

Primero hay que averiguar el monto ingresado, definir los paises y el tipo de cambio, finalmente lo calculamos y los mostramos con formato de moneda usando la funcion NUMBER_FORMAT

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php        
    // averiguamos si se ingresó un motno
    if (isset($_POST['monto'])) {
      define ("cantidad", $_POST['monto']);
    } else {
      define ("cantidad", 0);
    }
    // definimos los paises
    $paises = array ("Chelín Austríaco","Escudo portugués","Florín Holandés");
    // definimos el tipo de cambio por cada pais
    $tasacambios = array (13.76,200.48,2.20);
    // imprimimos el monto ingresado
    echo "<b>".cantidad." euros</b> convertidos a las siguientes monedas:<br><br>";                                                
    // por cada pais imprimimos el cambio
    for ($i=0;$i<count($paises);$i++){
           echo "$paises[$i] ";
           // calculamos el cambio
           $cambio=$tasacambios[$i]*cantidad;
           // imprimos el resultado con el formato de moneda
           echo   number_format($cambio,3,",",".");
           echo "<br>";
    }
   ?>






PHP Como subir archivos de mas de 2Mb

Categories: PHP - Tags: ,

A veces ocurre que queremos subir a nuestro servidor un archivo zip o algun diseño y estos jalan mas de 2 Mb pero nuestro hosting no lo permite, no es complicado solucionar este problema sin tener que editar el archivo php.ini, a menos que tengan un servidor virtual o uno dedicado (es raro que nosotros simples mortales tengamos uno asi).

Permitir subir archivos de mas de 2Mb

Para solucionarlo basta modificar al archivo .httacces

1
2
3
4
php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

Con ese pequeño cambio ya deberias poder subir archivos de hasta 20Mb,

¿Cómo creo un formulario para subir archivos?

Hay varias formas de hacerlo, en mi blog puedes ver un par usando ajax