Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228

    [jQuery] se elemento contiene un tag recupera il valore

    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?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, per cercare un'immagine all'interno di un altro tag dovrebbe bastare
    codice:
    var listImg = $('#anteprima').find('img');
    Se presenti listImg sarebbe un'array con i tag img ritrovati.
    Se sai che potrebbe esserci solo un'immgine
    codice:
    var immagine = $('#anteprima').find('img:first');

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.