php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-06-2018, 16:28
HerKaen
 Registrierter Benutzer
Links : Onlinestatus : HerKaen ist offline
Registriert seit: Mar 2018
Beiträge: 7
HerKaen befindet sich auf einem aufstrebenden Ast
Standard Probleme mit Error-messages

Schönen guten Tag.


Ich schlage mich jetzt schon seit ein paar Tagen mit diesem Problem rum, ich hoffe mir kann jemand weiterhelfen.
Undzwar generiere ich RadioButtons über eine Schleife und diese sind auch required, was ja nicht das Problem ist.
Das Problem entsteht erst dadurch das ich eine eigene invalide-message haben möchte,
wenn es sich um einen Browser mit englischer Spracheinstellung handelt.


Ich habe das ganze mit oninvalid versucht zu lösen, aber dann macht er Probleme.
Wenn ich dann nämlich einmal auf Absenden drücke ohne was ausgewählt zu haben, kommt die gewollte Error-Message.
Allerdings kann muss ich danach jeden Button anklicken oder zumindest einmal den, der das oninvalid hat bevor ich
das Formular abschicken kann. Vielleicht hat ja jemand eine bessere Idee oder kann mir sagen was ich falsch mache.


Hier mein HTML bzw. Twig Code:
Code:
{% for option in rule.optionMap %}
    <div class="form-check">
        <input class="form-check-input" type="radio" name="rule" id="ruleId" value="Identifier" 

   oninvalid="this.setCustomValidity('Please fill out this field.')" oninput="setCustomValidity('')" required>
 
      <label class="form-check-label" for="ruleId">
          text
      </label>
   </div>
{% endfor %}
Und hier mein Versuch mit JavaScript:
Code:
<script>
    $(document).ready(function() 
       {
           if (document.getElementById("ruleId").checked == true) 
            {
                $(".form-check-input").prop("required", false);
                var ret = "oninvalid=\"this.setCustomValidity('Please fill out this field.')\" oninput=\"setCustomValidity('')\"";
               var replaced = ret.replace(ret, "");
             }
         });
</script>
Gruß Nico
Mit Zitat antworten
  #2 (permalink)  
Alt 21-06-2018, 16:52
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.563
h3ll befindet sich auf einem aufstrebenden Ast
Standard

JavaScript-Code hat in HTML-Code nichts verloren. Den schreibst du am besten nur in JavaScript-Dateien.
Mit Zitat antworten
  #3 (permalink)  
Alt 22-06-2018, 08:02
HerKaen
 Registrierter Benutzer
Links : Onlinestatus : HerKaen ist offline
Registriert seit: Mar 2018
Beiträge: 7
HerKaen befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
JavaScript-Code hat in HTML-Code nichts verloren. Den schreibst du am besten nur in JavaScript-Dateien.

Auslagern kann ich es nachher immer noch, es soll aber erstmal funktionieren. Und ich kriege dieses "oninvalid"...." einfach nicht weg wenn wenn einer der RadioButtons angeklickt wurde.
Mit Zitat antworten
  #4 (permalink)  
Alt 22-06-2018, 09:50
HerKaen
 Registrierter Benutzer
Links : Onlinestatus : HerKaen ist offline
Registriert seit: Mar 2018
Beiträge: 7
HerKaen befindet sich auf einem aufstrebenden Ast
Standard

Ich hab mir um es einfacher darzustellen mal eine kleine Datei erstellt.


Code:
<form method="post" id="Form">
    <div class="form-check">
        <input class="form-check-input" type="radio" name="rule" id="ruleId1" value="AAA" required oninvalid="this.setCustomValidity('Please fill out this field.')" oninput="setCustomValidity('')">

        <input class="form-check-input" type="radio" name="rule" id="ruleId2" value="BBB" required>

        <input class="form-check-input" type="radio" name="rule" id="ruleId3" value="CCC" required>

        <button type="submit" name="wish" value="accept" id="accept">Button</button>
        <button type="reset" name="decline" value="reset" id="reset">Reset</button>
    </div>
</form>
Hab es jetzt hinbekommen das das oninvalid und auch die required verschwinden sobald der 2. RadioButton gechecked wurde und der Button gedrückt. Aber meine eigene Fehlermeldung wird trotzdem noch angezeigt und ich kann das Formular so halt auch immer noch nicht absenden.


Code:
<script>
    $(document).ready(function () {
       $('#accept').click(function(){
          if (document.getElementById("ruleId2").checked == true) {
            $("#ruleId1").removeAttr('oninvalid');
            $("#ruleId1").removeAttr('oninput');
            $("form-check-input").prop('required', false);
}

});
   });
</script>

Geändert von HerKaen (22-06-2018 um 09:55 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 22-06-2018, 10:09
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.563
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von HerKaen Beitrag anzeigen
Auslagern kann ich es nachher immer noch
Nein, damit es übersichtlicher wird, solltest du es sofort machen. Wenn es mal "funktioniert", ist es irrelevant, dann kannst du dir das "Auslagern" sparen. Man arbeitet JETZT mit dem Code, also sollte es JETZT auch brauchbar aufgegliedert sein.
Mit Zitat antworten
  #6 (permalink)  
Alt 06-07-2018, 13:54
HerKaen
 Registrierter Benutzer
Links : Onlinestatus : HerKaen ist offline
Registriert seit: Mar 2018
Beiträge: 7
HerKaen befindet sich auf einem aufstrebenden Ast
Standard

Also einiges habe ich nun ausgelagert, eine Funktion bekomme ich aber nicht ausgelagert. In meiner Template Datei funktioniert der Code, aber wenn ich diesen in eine extra Datei schreibe und diese Funktion in meinem Template dann benutzen möchte geht es nicht mehr.


token.html.twig:
Code:
    

<script language="javascript" type="text/javascript" src="/js/validate.js"></script>
validate.js:
Code:
function myFunction2() {
    $(document).ready(function () {
        $('input[name="rule[{{ rule.identifier|e }}]"]').on({
            invalid: function (e) {
                e.target.setCustomValidity("");
                if (!e.target.validity.valid) {
                    e.target.setCustomValidity("{{ rule.getRequiredAttributeValidation(meta.language)|raw }}");
                }
            },
            input: function (e) {
                e.target.setCustomValidity("");
            }
        });
    });
}
Mit anderen Funktionen läuft es, nur mit dieser irgendwie nicht.

Gruß Nico
Mit Zitat antworten
  #7 (permalink)  
Alt 10-07-2018, 05:58
basti1012
 Registrierter Benutzer
Links : Onlinestatus : basti1012 ist offline
Registriert seit: Jan 2018
Beiträge: 5
basti1012 befindet sich auf einem aufstrebenden Ast
Standard

Wird in deiner tocken html überhaupt die funktion myFunction2() aufgerufen? Weil da kann ich jetzt nix von sehen. Hast du das schon Online ? Dann gib uns doch mal ein Link dann kann man den Fehler auch besser finden.Oder wenn möglich ganzen ode posten ,aber nur wenn er nicht zu lang ist
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit neuer Xampp Verison - syntax error, unexpected end of file BananaJo PHP Developer Forum 4 24-12-2012 12:08
Probleme mit matzh operatoren und mysql error Champ Wasili SQL / Datenbanken 72 04-07-2008 10:35
Messages in DB schreiben: Zeilenumbruch? alex27 PHP Developer Forum 2 09-05-2006 13:29
personal-messages lundi Apps und PHP Script Gesuche 0 22-05-2005 14:10
Streaming messages lobendank PHP Developer Forum 9 01-11-2004 00:28

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

html5pattern ansehen html5pattern

Pflichtfelder und Eingabevorgaben für Formulare validieren

06.07.2018 Berni | Kategorie: HTML5/ HowTo
Adventure PHP Framework

Das Adventure PHP Framework versteht sich als Hilfsmittel zur Implementierung von objektorientierten, generischen und wiederverwendbaren PHP-Web-Applikationen.

05.07.2018 phpler | Kategorie: PHP/ Framework
Phpstorm ansehen Phpstorm

Umfangreiche Entwicklungsumgebung für PHP-Programmierer inkl JavaScript und HTML Support. Jetzt Version 8.0!

03.07.2018 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:12 Uhr.