Salve a tutti, ho questo quesito da porre:
ho un form che permette di inserire del testo in una textarea, oppure sostituire quel testo con una immagine. Questi valori vengono mostrati in un div in modo da averne un'anteprima.
Codice HTML:
codice HTML:
<fieldset>
<legend>Testo</legend>
<label for="txtetichetta">Etichetta</label>
<textarea rows="5" name="txtetichetta" id="txtetichetta"></textarea>
<input id="imgetichetta" type="file" name="imgetichetta">
</fieldset>
<div class="col-md-12" id="anteprima" style="height: 200px;"></div>
<button id="submit">Apri</button>
<script>
function resize_to_fit(){
var fontsize = $('div#anteprima p').css('font-size');
$('div#anteprima p').css('fontSize', parseFloat(fontsize) - 1);
if($('div#anteprima p').height() >= $('div#anteprima').height()){
resize_to_fit();
}
}
// carico il file TESTO in ajax
$('#imgetichetta').fileupload({
url: url,
dataType: 'json',
done: function (e, data) {
// Add each uploaded file name to the #files list
$.each(data.result.files, function (index, file) {
$('#anteprima').html('<img src="'+ file.url +'" style="max-height: 200px">');
});
}
});
// inserisco un testo lungo adattando la dimensione del font
$('#txtetichetta').on('focusout', function() {
var txtetichetta = $('#txtetichetta').val();
if(txtetichetta != "") {
$('#anteprima').html('<p>' + txtetichetta.replace(/\n/g, '<br>') + '</p>');
resize_to_fit();
}
})
</script>
Ora dovrei però aggiungere un tasto che mi permette di passare il valore di #anteprima in una pagina tramite ajax.
Al di là della chiamata, ho provato ad aggiungere questo codice:
codice:
$('#submit').on('click', function(e) {
e.preventDefault();
if($('#anteprima *:contains("<img")').lenght > 0) {
var desctxt = $('#anteprima img').attr('src');
} else {
var desctxt = $('#anteprima').html();
}
console.log(desctxt);
})
ma ovviamente non funziona. Avete qualche suggerimento?