Przyciski w skrypcie przestają działać po 1 kliknięciu, brak komunikatów i błędów

Odpowiedz Nowy wątek
2018-12-26 15:23
0

Dzień dobry. Mam Taki problem. Wywołuję funkcję submitForm jednym z przycisków button. Po pierwszym, pomyślnym przejściu przez funkcję, skrypt się zawiesza, tzn. nie ma żadnych komunikatów, klawiatura działa, można wpisywać dane do formularza, ale wszystkie przyciski button przestają działać. Nie wiem co może być tego powodem. Tzn. wiem która linijka, ale nie rozumiem dlaczego. Mianowicie linijka:

formDiv.innerHTML = formDivOrigInnerHTML + comments;

Co tu jest nie tak?
Kod funkcji i zmiennej formDivOrigInnerHTML:

function submitForm()
{
    var formDiv = document.getElementsByClassName("tab2")[0];

    dFrom = document.getElementsByTagName("form")[0].elements["dFrom"].value;
    dTo = document.getElementsByTagName("form")[0].elements["dTo"].value;
    cin = document.getElementsByTagName("form")[0].elements["cin"].value;
    cit = document.getElementsByTagName("form")[0].elements["cit"].value;
    tit = document.getElementsByTagName("form")[0].elements["tit"].value;
    com = document.getElementsByTagName("form")[0].elements["com"].value;
    comp = document.getElementsByTagName("form")[0].elements["comp"].value;
    cSet = document.getElementsByTagName("form")[0].elements["cSet"].value;
    nSet = document.getElementsByTagName("form")[0].elements["nSet"].value;

    var comments = "";

    // if (dFrom.length == 0 || dTo.length == 0 || cin.length == 0 || cit.length == 0 || tit.length == 0 || com.length == 0 || cSet.length == 0 || nSet.length == 0) // comp autosets
        // comments += "<br>Któreś z pól jest puste";

    // if (!isDateValid(dFrom))
        // comments += "<br>Błędna 'Data od'";

    // if (!isDateValid(dTo))
        // comments += "<br>Błędna 'Data do'";

    // var fd = new FormData(document.querySelector('form'));
    // fd.append("addPos", selectedTitle);

    formDiv.innerHTML = formDivOrigInnerHTML + comments;

    // if (comments == "")
    // {
        // sendXML("ako_dodajSet.php", fd, "", "", formDiv, "Sukces");

        // setTimeout(addRow, 500);
    // }

    copyData(dFrom, dTo, cin, cit, tit, com, comp, cSet, nSet);

    // formDiv.innerHTML = formDivOrigInnerHTML + "<br>TEST";
}

var formDivOrigInnerHTML = document.getElementsByClassName("tab2")[0].innerHTML;

var dFrom = document.getElementsByTagName("form")[0].elements["dFrom"].value;
var dTo = document.getElementsByTagName("form")[0].elements["dTo"].value;
var cin = document.getElementsByTagName("form")[0].elements["cin"].value;
var cit = document.getElementsByTagName("form")[0].elements["cit"].value;
var tit = document.getElementsByTagName("form")[0].elements["tit"].value;
var com = document.getElementsByTagName("form")[0].elements["com"].value;
var comp = document.getElementsByTagName("form")[0].elements["comp"].value;
var cSet = document.getElementsByTagName("form")[0].elements["cSet"].value;
var nSet = document.getElementsByTagName("form")[0].elements["nSet"].value;

Proszę o pomoc.
Dzięki
Michał

edytowany 1x, ostatnio: mpaw, 2018-12-26 15:27

Pozostało 580 znaków

2018-12-26 15:51

Dodałem osobnego diva o klasie (mogłem o id zamiast class) form i zastąpiłem wszędzie w JS tab2 na form i działa. Ale co tam było źle, to nie mam pojęcia. Temat Otwarty

<div class="tab2">
    <form method="post" autocomplete="off">
        <div class="pole">Data od: <input type="text" name="dFrom"></div>
        <div class="pole">Data do: <input type="text" name="dTo"></div>
        <div class="pole">Kino: <input type="text" name="cin"></div>
        <div class="pole">Miasto: <input type="text" name="cit"></div>
        <div class="pole">Tytuł.: <input type="text" name="tit"></div>
        <div class="pole">Komentarz: <input type="text" name="com"></div>
        <div class="pole">Firma: <input type="text" name="comp" disabled></div>
        <div class="pole">Kw. setu: <input type="text" name="cSet"></div>
        <div class="pole">Na. setu: <input type="text" name="nSet"></div>
    </form>
    <div class="pole"><button id="dElem">Dodaj poz.</div>
    <div class="pole">Wybierz operację:</div><br>
    <div class="pole"><button id="add">Dodaj Set</button></div>
    <div class="pole"><button id="mod">Zmień Set</button></div>
    <div class="pole"><button id="canc">Anuluj</button></div>
    <div class="form"></div>
</div>

Dzięki
Michał

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0