KAC Posted September 19, 2006 Report Posted September 19, 2006 es varbuut dariitu ko taadu - http://be.twixt.us/jquery/formSubmission.php
Delfins Posted September 19, 2006 Report Posted September 19, 2006 Tāpat kā iepriekšējā piemērā: function validateForm(url,hForm) { // create request sendRPC(url,"callBackFunc",hForm); } function sendRPC(url,funcName,hForm) { ... xmlDoc = ... ... onreadystatechange() = function () { eval(funcName+"(xmlDoc,hForm)") } }
andrisp Posted September 19, 2006 Author Report Posted September 19, 2006 Delfins, nesaprotu. Vai tad vienkārši nebūs tā, ka validateForm() izpildīs sendRPC() fju, un nosubmitēs formu, nemaz nesagaidot, kas notiks tālāk ?
bubu Posted September 19, 2006 Report Posted September 19, 2006 Taisi sinhrono pierasījumu (kautgan visi jau tieši otrādi - taisa asinhronos pieprasījumus). open metodes trešais parametrs ko dara paskaties (true/false).
andrisp Posted September 19, 2006 Author Report Posted September 19, 2006 o, tas jau izskatās pēc tā ko vēlos..
Delfins Posted September 19, 2006 Report Posted September 19, 2006 Nu var gan syn/asyn... Asyn-metodē pēc sekmīgas validācijas taisam POST + validācijas f-jai jāatgriež false, ja nepieciešams - un protams, to visu var panākt ar parametru padošanu function validateForm(...,doPost?) { // do asyn-xml-request ... return false; } function formValidateCallback(xmlDoc,hForm,doPost) { if (xmlDoc.responseText == "" && doPost) { hForm.post(); } }
andrisp Posted September 19, 2006 Author Report Posted September 19, 2006 Nočakarējos ilgi un dikti, un beigās nonācu pie šāda koda, kas pat vairs nav Ajax, bet ir tieši tas, kas man vajadzīgs. function newXMLDoc() { var xmlDoc = null; if (window.XMLHttpRequest) { xmlDoc = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE try { xmlDoc = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlDoc = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } return xmlDoc; } function requestPage( queryString) { var xmlDoc = newXMLDoc(); if (typeof(xmlDoc) != 'object') return false; xmlDoc.open( "GET", queryString, false ); xmlDoc.send(null); if (xmlDoc.status == 200) { return xmlDoc.responseText; } else { return false; } } function check_form(form) { var x = requestPage('test.txt'); }
Orion7 Posted September 20, 2006 Report Posted September 20, 2006 es varbuut dariitu ko taadu - http://be.twixt.us/jquery/formSubmission.php Tad nu gan baigi labā forma, es visur savadīju aaaaaaa, epasta adresi ieskaitot, un man rāda: «Success, you submitted the form.»...
john.brown Posted September 21, 2006 Report Posted September 21, 2006 Mīļumiņ, bet tu ar lasīji, kas tur pirms tās formiņas bija rakstīts? I've disabled the db lookup, but test@example.com should provide a "Email Address already used" error. Tak tas ir tik piemērs, kā taisīt ajax, nevis smalka formas validācija ;)
Recommended Posts