He decidido saltar al marco jQuery Mobile para un tema móvil habilitado para WordPress.jQuery Mobile y envío de formulario
Ahora me encuentro con la cuestión de enviar formularios con la etiqueta hash en la url y tratando de hacer la validación y publicación de AJAX. Básicamente no funciona.
ejemplo: website.com/contact/ < - funciona website.com/#/contact/ < - no funciona
Soy consciente de la etiqueta rel = "externa" para href de que eliminan la # de la url. Pero tengo entradas de blog con un complemento personalizado que representa formularios de suscripción que no podré usar rel = "external" para. Creo que podría usarlo para todos los enlaces, pero eso eliminaría las transiciones suaves.
¿Cuáles son mis opciones para intentar que esto funcione? Estoy intentando vincular el .submit al formulario, hacer una validación y luego ajax publicarlo.
Update--
<form id="myform" action="myfile.php" method="post">
<input type="text" id="mytext" name="mytext" />
<input type="submit" id="myform_submit" value="Submit">
</form>
y mi guión:
jQuery(document).ready(function() {
jQuery("#contact_submit").submit(function(){
alert('WTF');
});
});
cambió eso a:
<form id="myform" action="myfile.php" method="post">
<input type="text" id="mytext" name="mytext" />
<input type="button" id="myform_submit" value="Submit">
</form>
y mi guión:
jQuery(document).ready(function() {
jQuery("#contact_submit").click(function(){
alert('WTF');
});
});
Ambos no funcionan con el # en la url.
También he añadido esto antes del archivo jquery.mobile.js:
<script type="text/javascript">
jQuery(document).bind(
"mobileinit", function(){
jQuery.extend(jQuery.mobile, { ajaxFormsEnabled: false });
});
</script>
sigue sin ir.
(FYI el jQuery en lugar de $ es debido a WordPress)
actualización --another.
Dado que estoy usando Wordpress algunas de las funciones están actuando de forma extraña. Como is_home() No importa en qué 'página' estoy, la función vuelve a ser verdadera. Creo que esto tiene que ver con las llamadas ajax para cada página.
No estoy seguro si eso es todo. Cambié a y agregué un manejador de clic con solo una alerta. No ir con el # en la url. Sin eso es dinero. – jdruid
No intentes jugar con el formulario. Deshabilitar AJAX debería funcionar. Puede intentar experimentar con las versiones: compare jqm alpha2 y alpha3 trabajando con eso (precaución: alpha2 tenía configuraciones diferentes) – naugtur
Hmm. Quizás espere para usar jQuery hasta un lanzamiento más. Inhabilité el AJAX pero todavía no tuve suerte. Funciona bien sin el # en la url. Una vez que está ahí, no hay nada. Estoy asumiendo que esto es algo de seguridad integrado en el navegador web. :( – jdruid