We Recommend

Pro JavaScript Techniques Pro JavaScript Techniques
Pro JavaScript Techniques is the ultimate JavaScript book for the modern web developer. It provides everything you need to know about modern JavaScript, and shows what JavaScript can do for your web sites. This book doesn't waste any time looking at things you already know, like basic syntax and structures.


Posted By

pablazo on 06/06/07


Tagged

forms


Versions (?)


Who likes this?

1 person has marked this snippet as a favorite

vali29


javascript recuperar datos formulario


Published in: JavaScript 


URL: http://www.estecoso.com.ar/2007/04/18/funcion-javascript-para-obtener-datos-de-un-formulario/

  1. function getFormData(objf, info, rval) {
  2. // La función getFormData recorre todos los elementos de un formulario
  3. // y va formando una cadena de formato "objeto=valor&objeto=valor&...".
  4. // Los campos del formulario para los que se haya especificado el
  5. // atributo TITLE, serán considerados campos obligatorios.
  6. //
  7. // formato: getFormData(objetoFormulario, tipoAvisoError, returnValue);
  8. // objetoFormulario: tiene que ser el OBJETO, NO el nombre del formulario
  9. // tipoAvisoError: silent: no muestra errores, si no se obtuvieron datos del formulario
  10. // alert: muestra un mensaje de alerta y detiene la ejecución, si no se obtuvieron los datos
  11. // returnValue: si debe devolver o no el resultado, true o false
  12. // los campos con el title vació no son alertados
  13. //
  14. // ejemplo: var queryStrign = getFormData('formularioId', 'silent', true);
  15. //
  16. // desarrollado por Sebastián Serrani (http://www.estecoso.com.ar)
  17. var formComplete = true;
  18. var alertMsg = "Debe completar los siguientes campos:\r";
  19. var getstr = "";
  20. var formObj =document.getElementById(objf);
  21. for (var i=0;i
  22.  
  23. if (formObj.elements[i].type != undefined && formObj.elements[i].name != undefined){
  24. var elemValLength = formObj.elements[i].value;
  25. // si algún campo para el envío de archivos cambia el enctype del form.
  26. if (formObj.elements[i].type == "file"){
  27. formObj.enctype = "multipart/form-data";
  28. }
  29. // chequea que todos los campos con atributo TITLE estén completos.
  30. if (formObj.elements[i].title != "" && elemValLength.length < 1) {
  31. alertMsg += " - " + formObj.elements[i].title + "\r";
  32. formComplete = false;
  33. continue;
  34. }
  35. // si es un checkbox, verifica que esté chequeado
  36. if (formObj.elements[i].type == "checkbox"){
  37. if (formObj.elements[i].checked == true){
  38. getstr += formObj.elements[i].name + " = " + formObj.elements[i].value + "&";
  39. }
  40. continue;
  41. }
  42. // si es un radio, verifica que esté chequeado
  43. if (formObj.elements[i].type == "radio"){
  44. if (formObj.elements[i].checked == true){
  45. getstr += formObj.elements[i].name + " = " + formObj.elements[i].value + "&";
  46. }
  47. continue;
  48. }
  49. if (elemValLength.length > 0) {
  50. getstr += formObj.elements[i].name + ” = ” + formObj.elements[i].value + “&”;
  51. }
  52. }
  53. }
  54. if (!formComplete){
  55. if (info == “alert){
  56. alert(alertMsg);
  57. }
  58. return false;
  59. } else {
  60. if (rval){
  61. return getstr;
  62. } else {
  63. return true;
  64. }
  65. }
  66. }

Report this snippet 

You need to login to post a comment.