Skip to content
Snippets Groups Projects

Como enviar um formulário completo em json com pouco código

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by pedroaf0

    Considerando um formulário html com muitos inputs, esse Snippet permite que você os envie para o back-end no formato json independente do numero e do tipo dos inputs ou selects podendo assim ser adicionado em qualquer formulário html.

    considerando:

    <div class="form-group">
        <label for="Cidade">Cidade</label>
             <input type="text" class="form-control" id="Cidade" placeholder="Cidade"><br>
         <label for="Nacionalidade">Nacionalidade</label>
              <input type="text" class="form-control" id="Nacionalidade" value="Brasileiro" placeholder="Nacionalidade"><br>
         <label for="Naturalizado">Naturalizado</label>
               <select class="form-control" id="Naturalizado">
                     <option>sim</option>
                     <option>não</option>
               </select>
    </div>

    resultará em:

    {
      "Cidade":"Ibiraiaras",
      "Nacionalidade":"Brasileiro",
      "Naturalizado":"sim"
    }
    submit.js 686 B
        function submit(){
            var inputs = document.getElementsByTagName("input");
            var selects = document.getElementsByTagName("select");
            var json = "{"
            for(var i = 0;i < inputs.length || i < selects.length ;i++){
               if(i < inputs.length){json += "\""+inputs[i].id+"\":\""+inputs[i].value+"\"";json += ",";}
               if(i < selects.length){json += "\""+selects[i].id+"\":\""+selects[i].value+"\"";json += ",";}
            }
            json = json.substr(0,json.length - 1);
            json += "}";
            json = JSON.parse(json);
            console.log(json);
           // agora voce pode enviar esse json com todos os inputs desse formulario para onde quiser
        }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment