Ho una semplice domanda come parte di un modulo. Se l'utente risponde "Sì", gli viene data la possibilità di inserire maggiori dettagli.Il campo textarea restituisce vuoto al momento dell'invio
Quando un utente risponde "Sì" e immette più dettagli nello textarea
, su invio restituisce vuoto. Non riesco a capire perché. Mi sento come se questo fosse probabilmente qualcosa di piccolo che mi manca.
Esempio: https://jsfiddle.net/sq8awxyk/
HTML
<form>
<div id="name-form">
<label for="name"><strong>Is this the correct name?</strong></label>
<input type="radio" value="yes" name="name-choice" />Yes
<input type="radio" value="no" name="name-choice" />No
</div>
<input id="submit" type="submit" value="submit" />
</form>
jQuery
// Name Input
var nameFormLimit = 20;
var nameInput = 'input[name=name-choice]';
var nameInputValue = $('input[name=name-choice]:checked').val();
var response;
$(nameInput).on('click', function(e) {
var nameInputValue = $('input[name=name-choice]:checked').val();
if (nameInputValue === 'yes') {
var nameDiv = document.getElementById('name-form');
nameDiv.innerHTML = '<label for="name"><strong>Please type the correct name:</strong></label> ' +
'<textarea id="textarea" name="name" rows="1" maxlength="' + nameFormLimit + '"></textarea> <div id="textarea_feedback"></div>';
$('#textarea_feedback').html(nameFormLimit + ' characters remaining');
$('#textarea').keyup(function() {
var text_length = $('#textarea').val().length;
var text_remaining = nameFormLimit - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
});
response = $('#textarea').val();
} else if (nameInputValue === 'no') {
response = nameInputValue;
}
});
$('#submit').on('click', function(e) {
alert(response);
e.preventDefault();
});
Ok, grazie. Non c'è modo di lasciare la variabile 'response' come parte dell'istruzione IF originale? Lo chiedo solo perché mentre digiti una risposta, fa parte della forma. Ho pensato che tutto ciò che fa parte di un 'form' verrà inviato al server dopo aver fatto clic su invia? – mapr
@mapr Vedi il mio aggiornamento nella risposta Il secondo approccio risolverà il problema. – Shyju
Grazie. L'ho appena visto. Preferisco il secondo approccio. – mapr