que es la función que hace el tratamiento luego del envio del formulario.
Bueno la idea sería poder consultar la base de datos desde la la zona
privada, pero por el momento me basta con que funcione, la zona publica.
Os cuento lo que he hecho hasta ahora.
Dentro de /squelettes /formulaires he creado ped_clasificados.html (pedido
clasificado) os copio el código al final por si os sirve para algo , esta
sin formato ni nada "a lo bruto". El formulario hace lo siguiente
Dependiendo del formato del clasificado el precio será uno u otro hasta un
máximo de 25 palabras, por cada palabra adicional se sumara un suplemento de
0,05 €. Esto lo tengo calculado y funciona.
Pensandolo, por el momento creo que podría servirme que cuando se acepte el
formulario enviase un correo a dos direcciones diferentes una que deberían
introducir en el formulario y una del administrador de spip, para comprobar
el "pedido" luego, así me evito por el momento el lio de la base de datos
He creado una página dentro de squelettes llamada clasificados.html a la que
le he puesto el siguiente codigo, me muestra el formulario y me realiza los
calculos correctamente, por lo que me faltaría el codigo para enviar por
correo.
He estado viendo la documentación sobre los nuevos formularios cvt, y no se
si lo que estoy haciendo correctamente así.
Aquí hay un ejemplo pero me pierdo en las comprobaciones y con las balizas
Formulaires CVT par l'exemple - SPIP
Saludos.
--------------------------- ESQUELETO --------------------------
<div class='ajax'>
#FORMULAIRE_PEDIDOS
</div>
--------------------- FORMULARIO --------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Pedido clasificados</title>
<script>
//--------------------------------------------------------------------------------------------------------
// REALIZA CALCULOS
//--------------------------------------------------------------------------------------------------------
function calcular(){
var indice = document.formul.formato.selectedIndex
var valor = document.formul.formato.options[indice].value
document.formul.resultado.value=(valor)
palabras = document.formul.palabras.value=(numeroPalabras)
if (palabras > 25) {
Exceso_palabras = parseInt(palabras) - 25
document.formul.resultado.value = parseFloat(valor) + parseFloat(0.05 *
Exceso_palabras)
}
total = document.formul.resultado.value * document.formul.semanas.value
document.formul.resultado.value = total
}
//--------------------------------------------------------------------------------------------------------
// CONTAR CARACTERES Y PALABRAS
//--------------------------------------------------------------------------------------------------------
function wordCount() {
// Función que nos va a contar el número de caracteres
// y de palabras del area de texto de un formulario
// Obtenemos el texto del area.
textoArea = document.getElementById("area").value;
// El numero de caracteres es su longitud
numeroCaracteres = textoArea.length;
// Eliminamos los caracteres en blanco del inicio y del final.
// Como no tenemos funciones del tipo trim, rtrim y ltrim usamos
// expresiones regulares
// El ^ indica principio de cadena
inicioBlanco = /^ /
// El $ indica final de cadena
finBlanco = / $/
// El global (g) es para obtener todas las posibles combinaciones
variosBlancos = /+/g
textoArea = textoArea.replace(inicioBlanco,"");
textoArea = textoArea.replace(finBlanco,"");
textoArea = textoArea.replace(variosBlancos," ");
// Creamos un array con las diferentes palabras. Teniendo en
// cuenta que la separación entre palabras es el espacio en blanco.
textoAreaDividido = textoArea.split(" ");
numeroPalabras = textoAreaDividido.length;
// Mostramos los datos.
// Tendremos en cuenta si hay que escribir en plural o en singular.
tC = (numeroCaracteres==1)?" carácter":" caracteres";
tP = (numeroPalabras==1)?" palabra":" palabras";
document.formul.palabras.value=(numeroPalabras) ;
document.formul.letras.value=(numeroCaracteres) ;
}
</script>
</head>
<body>
<form name="formul">
Formato: <br>
<select name="formato">
<option value="0.75">Texto
<option value="3" selected>Recuadro
<option value="5">1/2 Modulo
<option value="9">1 Modulo
</select>
<br>
Sección: <br>
<select name=’seccion’ >
<option value=0>Selec seccion</option>
<option value=1>Amistad</option>
<option value=2>Compra-Venta</option>
<option value=3>Alquiler inmuebles</option>
<option value=4>Venta Inmuebles</option>
<option value=4>Empleo</option>
<option value=4>Motor</option>
<option value=4>Ocio</option>
<option value=4>Servicios</option>
</select><br>
Texto: <br>
<TEXTAREA id="area" ROWS="5" COLS="36" onkeyPress="wordCount();"></TEXTAREA>
<br>
Nº SEMANAS: <br>
<input type="text" name="semanas" value="1" size="20"/><br>
Total: <br>
<input type="text" name="resultado" size="20" readonly/><br>
Palabras: <br>
<input type="text" name="palabras" size="20" readonly/><br>
<br><br>
Caracteres: <br>
<input type="text" name="letras" size="20" readonly/><br>
<br><br>
<input type=button value="Calcular" onclick="calcular()">
</form>
</body>
</html>
El 27 de febrero de 2009 15:42, Marina Moran <esperandoelmilagro@gmail.com>
escribió:
a qué te referis con "integrar esto con spip" exactamente?
salute.
2009/2/27 Paco <caudetano@gmail.com>:
> Hola, hace unos días pregunté, sobre como realizar cálculos con el
> pluging
> form&tables pero al no obtener respuesta, entiendo que no se puede o no
> saben como hacerlo, así que me he decidido hacerlo por mi mismo a pesar
> de
> no saber como, por eso necesito que me hecheis una mano.
>
> He creado un html con el formulario y a traves de javascript realizo los
> calculos necesarios. Hasta ahí bien, solo me quedaría guardar los datos
> en
> una base de datos para sus posteriores consultas, pero antes de
> continuar me
> gustaría integrar esto con spip, pero no se como hacerlo..
>
> ¿Me podeis orientar un poco? ¿Conoceis donde puedo obtener información?
>
> Muchas gracias a todos.
>
> _______________________________________________
> Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es
>
>
--
Marina
www.artenqn.com.ar
_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es