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.576
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.576
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: 10
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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:38 Uhr.