2017-09-18 1 views
-2

Ich möchte die Anzeige des Formulars auf keine festlegen, wenn die Schaltfläche Senden gedrückt wird. Aber dieser Code funktioniert nicht.Formular beim Senden ausblenden

function myFunction() { 
 
    var x = document.getElementsByClassName("submit"); 
 
    x.style.display = "none"; 
 
}
<form class="submit" method="post"> 
 
    <input id="ceg" type="text" name="ceg" placeholder="Cég neve"><br> 
 
    <input id="ceg" type="text" name="kontakt" placeholder="Kapcsolattartó neve"><br> 
 
    <input id="ceg" type="email" name="" placeholder="Kapcsolattartó email címe"><br> 
 
    <input id="ceg" type="text" name="" placeholder="Munkakör leírása (20 szó)"><br> 
 
    <h1>Témakör</h1> 
 
    <input type="radio" name="menu" value="1">1</input><br> 
 
    <input type="radio" name="menu" value="2">2</input><br> 
 
    <input type="radio" name="menu" value="3">3</input><br> 
 
    <input type="submit" name="submit" value="submit" onload="myFunction"> 
 
</form>

+1

Das Platzieren der Tags im Titel ist nicht erforderlich. Wenn der Titel ohne sie nicht lang genug ist, wurde das Problem nicht genau beschrieben. – castis

+0

Randnotiz, IDs ** müssen ** eindeutig sein und 'getElementsByClassName' gibt eine Auflistung zurück. Schließlich gibt es kein "" -Tag. Eingänge schließen sich selbst. – j08691

Antwort

0

Sie müssen Javascript nicht wirklich Ihr Problem zu lösen. Setzen Sie einfach den Submit-Class-Stil mit display: none; (ich empfehle den Namen dieser Klasse ändern, ist nicht intuitiv) und Kontrolle in Form der Klasse führt die Folge setzen:

class="<?= (!empty($_POST)) ? 'submit' : ''; ?>" 

Die Lösung der Javascript wird nur dann benötigt, wenn Sie Aktionen, die ohne Seite submitions verlassen muß. Bei der Übermittlung haben Sie den tatsächlichen Zustand der Seite verloren und Ihre Skriptänderungen gehen verloren.

PS: Nicht relativ zu Ihrer Frage, aber überprüfen Sie Ihre HTML, IDs müssen eindeutig sein und Sie haben andere Sachen, die ein bisschen verbessern können.

Verwandte Themen