login  Naam:   Wachtwoord: 
Registreer je!
 Forum

js-button-form probleem

Offline maarten_2002 - 19/12/2009 11:55
Avatar van maarten_2002Nieuw lid Beste mensen,

Ik ben nogal nieuw met Javascript en heb het volgende probleem.
Op mijn website heb ik een formulier waar verschillende dingen worden gecheckt, om te zorgen dat mensen geen onzin versturen.

Nu heb ik gister een mooie css/js-button gevonden welke ik graag wil gebruiken. Scriptjes geimporteerd en de button werkt alleen de functie van het andere script werkt niet meer. Dus hij checkt en verzend niet meer...
Button van: (http://monc.se/kitchen/59/scalable-c...ground-colors/)

Ik hoop dat iemand mij kan helpen, hieronder de verschillende scripts:
Alvast bedankt voor de moeite!

Mijn form script:
  1. var lv_firstName = new LiveValidation('firstName', {onlyOnBlur: true});
  2. lv_firstName.add(Validate.Presence);
  3. lv_firstName.add(Validate.Length, {minimum: 2, maximum: 50});
  4. lv_firstName.add(Validate.Format, {pattern: /^([a-z \-\']+)$/i});
  5.  
  6. var lv_insertion = new LiveValidation('insertion', {onlyOnBlur: true});
  7. lv_insertion.add(Validate.Length, {minimum: 2, maximum: 50});
  8. lv_insertion.add(Validate.Format, {pattern: /^([a-z \-\']+)$/i});
  9.  
  10. var lv_lastName = new LiveValidation('lastName', {onlyOnBlur: true});
  11. lv_lastName.add(Validate.Presence);
  12. lv_lastName.add(Validate.Length, {minimum: 2, maximum: 50});
  13. lv_lastName.add(Validate.Format, {pattern: /^([a-z \-\']+)$/i});
  14.  
  15. var lv_emailaddress = new LiveValidation('emailaddress', {onlyOnBlur: true});
  16. lv_emailaddress.add(Validate.Presence);
  17. lv_emailaddress.add(Validate.Email);
  18.  
  19. var lv_message = new LiveValidation('message', {onlyOnBlur: true});
  20. lv_message.add(Validate.Presence, {failureMessage: ' '});
  21. lv_message.add(Validate.Length, {minimum: 10, failureMessage: ' '});


Het button script:
  1. var btn = {
  2. init : function() {
  3. if (!document.getElementById || !document.createElement || !document.appendChild) return false;
  4. as = btn.getElementsByClassName('btn(.*)');
  5. for (i=0; i<as.length; i++) {
  6. if ( as[i].tagName == "INPUT" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" ) ) {
  7. var a1 = document.createElement("a");
  8. a1.appendChild(document.createTextNode(as[i].value));
  9. a1.className = as[i].className;
  10. a1.id = as[i].id;
  11. as[i] = as[i].parentNode.replaceChild(a1, as[i]);
  12. as[i] = a1;
  13. as[i].style.cursor = "pointer";
  14. }
  15. else if (as[i].tagName == "A") {
  16. var tt = as[i].childNodes;
  17. }
  18. else { return false };
  19. var i1 = document.createElement('i');
  20. var i2 = document.createElement('i');
  21. var s1 = document.createElement('span');
  22. var s2 = document.createElement('span');
  23. s1.appendChild(i1);
  24. s1.appendChild(s2);
  25. while (as[i].firstChild) {
  26. s1.appendChild(as[i].firstChild);
  27. }
  28. as[i].appendChild(s1);
  29. as[i] = as[i].insertBefore(i2, s1);
  30. }
  31.  
  32. if (document.getElementById('submit_btn')) {
  33. btn.addEvent(document.getElementById('submit_btn'),'click',function() {
  34. var form = btn.findForm(this);
  35. form.submit();
  36. });
  37. }
  38. },
  39. findForm : function(f) {
  40. while(f.tagName != "FORM") {
  41. f = f.parentNode;
  42. }
  43. return f;
  44. },
  45. addEvent : function(obj, type, fn) {
  46. if (obj.addEventListener) {
  47. obj.addEventListener(type, fn, false);
  48. }
  49. else if (obj.attachEvent) {
  50. obj["e"+type+fn] = fn;
  51. obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
  52. obj.attachEvent("on"+type, obj[type+fn]);
  53. }
  54. },
  55. getElementsByClassName : function(className, tag, elm) {
  56. var testClass = new RegExp("(^|\s)" + className + "(\s|$)");
  57. var tag = tag || "*";
  58. var elm = elm || document;
  59. var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
  60. var returnElements = [];
  61. var current;
  62. var length = elements.length;
  63. for(var i=0; i<length; i++){
  64. current = elements[i];
  65. if(testClass.test(current.className)){
  66. returnElements.push(current);
  67. }
  68. }
  69. return returnElements;
  70. }
  71. }
  72.  
  73. btn.addEvent(window,'load', function() { btn.init();} );


De html:
  1. <p><input type="submit" value="Formulier verzenden" class="btn blue" id="submit_btn" /></p>

3 antwoorden

Gesponsorde links
Offline Kevin - 19/12/2009 12:22 (laatste wijziging 19/12/2009 12:26)
Avatar van Kevin Crew Ajax/REST Ik overloop snel met jou de volgende code:

  1. var lv_firstName = new LiveValidation('firstName', {onlyOnBlur: true});


Er wordt een variabele ingesteld dmv de functie LiveValidation te gebruiken.
In jouw code hier gepost (gebruik in het vervolg een externe site pastebin.be ofzo) zie ik niet eens die functie staan...
Dus is het normaal want die functie bestaat dus gewoon niet.

Ben ook snel even naar die site gaan kijken. In het formulier daar staat blijkbaar geen controle?
+ zij maken gebruiken van jQuery. (www.jquery.com)
Bedankt door: maarten_2002
Offline maarten_2002 - 20/12/2009 21:09
Avatar van maarten_2002 Nieuw lid Probleem op andere manier opgelost.
Offline Richard - 20/12/2009 23:20
Avatar van Richard Crew algemeen Vertel eens, hoe?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s