2017-06-25 2 views
0

Es gibt einen Website-Generator, bei dem es unmöglich ist, die Formulareingabe über das DOM zu erhalten. Was ist zu tun? :)Wie erhalten Eingangswert in Tilda?

Dieser Code Rückkehr nichts:

$('form').change(function() { 
    alert('email input value: ' + $(this).find('input[name=Email]').attr('value')); 
    alert('name input value: ' + $(this).find('input[name=Name]').attr('value')); 
    alert('phone input value: ' + $(this).find('input[name=Phone]').attr('value')); 
}); 

Demo: http://project282540.tilda.ws/

Antwort

0

<input> ‚s-Wert zu erhalten, müssen Sie .val() statt .attr('value') verwenden:

$('form').change(function() { 
    alert('email input value: ' + 
     $(this).find('input[name=Email]').val()); 
    alert('name input value: ' + 
     $(this).find('input[name=Name]').val()); 
    alert('phone input value: ' + 
     $(this).find('input[name=Phone]').val()); 
}); 

.attr('value') das Attribut in HTML definiert bedeutet. Da in HTML-Eingabe-Tags kein value-Attributwert vorhanden ist, gibt .attr('value') immer eine leere Zeichenfolge zurück.

Hier ist ein kleines Experiment: Bearbeiten Sie den HTML-Code in http://project282540.tilda.ws/ und setzen Sie value -Eigenschaft auf einen der Eingabe-Tags. Wenn das Formular geändert wird, wird das neu hinzugefügte value Attribut dann alarmiert.

+0

Sie sind fantastisch! – n130

0

Dies sollte funktionieren, obwohl ich über die Site Builder nicht sicher bin.

$(".t-submit").on({ 
    click: function() { 
    $("input[type=text]").each(function() { 
     console.log($(this).val()) 
    }) 
    } 
}) 
Verwandte Themen