JSFiddle - React, Tailwind, and code Playground

by Durtto

HTML

<form id="form1" name="form" method="post" action="GetCheckBoxNew.asp">
    <input type="hidden" name="txt_recebe" value="" />
    <label>Noticia 01:
        <select name="status" class="font_body">
            <option value="0">Aguardando
                <option value="1">Revisando
                    <option value="2">Publicada</select>|
        <input name="item1" type="checkbox" id="DESTINOA_<%=Valor_Destino1%>" value="" />Item 1</label>|
    <label>
        <input name="item2" type="checkbox" id="DESTINOB_<%=Valor_Destino1%>" value="" />Item 2</label>|
    <label>
        <input name="item3" type="checkbox" id="DESTINOC_<%=Valor_Destino1%>" value="" />Item 3</label>
    <br />
    <label>Noticia 02:
        <select name="status" class="font_body">
            <option value="0">Aguardando
                <option value="1">Revisando
                    <option value="2">Publicada</select>|
        <input name="item4" type="checkbox" id="DESTINOD_<%=Valor_Destino2%>" value="" />Item 4</label>|
    <label>
        <input name="item5" type="checkbox" id="DESTINOE_<%=Valor_Destino2%>" value="" />Item 5</label>|
    <label>
        <input name="item6" type="checkbox" id="DESTINOF_<%=Valor_Destino2%>" value="" />Item 6</label>
    <br />
    <p>
        <input type="submit" name="btn2" id="btn2" value="Verificar Checados" onclick="obterMarcados()" />
    </p>
</form>

JavaScript

function obterMarcados() {

    // ir buscar todos os elementos
    var elementos = document.querySelectorAll('#form1 *');

    //criar uma array com cada conjunto
    var conjuntos = [],
        conjunto = [],
        alvos = ['select', 'input'];
    for (var i = 0; i < elementos.length; i++) {
        var el = elementos[i];
        var tagName = el.tagName.toLowerCase();

        // caso esteja no fim
        if (el.type == 'submit') {
            conjuntos.push(conjunto);
            break;
        }

        // se não fôr input ou select saltar a iteração
        if (alvos.indexOf(tagName) == -1) continue;

        if (el.name == 'status' && tagName == 'select') {
            // caso o grupo estar preenchido;
            if (conjunto.length) conjuntos.push(conjunto);
            conjunto = [];
        }
        // preencher o conjunto
        if (tagName == 'select' || el.checked) conjunto.push(tagName == 'select' ? el.value : el.id);
    }

    var resultado = JSON.stringify(conjuntos);
    console.log(resultado);
    document.form.txt_recebe.value = resultado;
}