2016-04-21 2 views
0

Veuillez trouver ci-dessous le code jQuery. Envoyer des emails parfaitement, mais je vois tout un tas de code (HTML) dans l'email. Je veux convertir la sortie html() de #right en text(). Comment puis je faire ça?convertir html en texte brut jquery .ajax

$(document).ready(function() { 
    $('.confirm_button').click(function() { 
     var student_name = $.trim($('#student_name').val()); 
     var student_contact = $.trim($('#student_contact').val()); 
     var student_email = $.trim($('#student_email').val()); 
     var right = $('#right').html(); 

     if (student_name.length < 3 || student_contact.length < 8 || student_email.length < 4) 
     { 
      $('#sendfail').attr('title', 'Sending Failed!').text('Please Enter valid information. All fields are required').dialog({ 
       buttons: { 
        'Ok': function() { 
         $(this).dialog('close'); 
         $location.reload(true); 
        } 
       }, 
       closeOnEscape: true, 
       draggable: false, 
       resizable: false, 
       modal: true 
      }); 
     } 
     else 
     { 
      var objAjaxRequestData = { 
       'student_name': student_name, 
       'student_contact': student_contact, 
       'student_email': student_email, 
       'right': right 
      }; 
      $.ajax({ 
       type: 'POST', 
       url: 'send-select-university.php', 
       data: objAjaxRequestData, 
       success: function() { 
        $('#sendsuccess') 
          .attr('title', 'Message sent successfully') 
          .text('Your message has been sent. We will be in touch soon') 
          .dialog({ 
           buttons: { 
            'Ok': function() { 
             $(this).dialog('close'); 
             window.location = "http://www.ankooverseas.com"; 
            } 
           }, 
           closeOnEscape: true, 
           draggable: false, 
           resizable: false, 
           modal: true 
          }); 
       }, 
       error: function() { 
        alert('Oops request sending failed. Please check your internet connection and try again'); 
       } 
      }); 
     } 

    }); 
}); 
+0

Essayez ceci pour analyser le code HTML - https://api.jquery.com/jquery.parsehtml/ – hemanjosko

+0

Si vous définissez l'email à envoyer au format HTML, il utilisera le code HTML pour afficher le message correctement au lieu de vous montrer le code source. Dans PHPMailer vous avez juste besoin d'appeler '$ mail-> isHTML();' – Synchro

Répondre

1

Vous devez remplacer

var right=$('#right').html();

au

var right=$('#right').text();

Selon vos commentaires, je pense que vous seriez mieux d'utiliser le code suivant pour avoir la éléments sélectionnés dans une vue formatée:

var right = ""; 
$("#shortlist_univs").children().each(function (i, univ) { // iterate over all universities and add them to the output variable in a list-like view. 
    right += $(univ).text() + "\n" 
}); 
+0

je l'ai aussi essayé. mais ça ressemble à un paragraphe. ce qui est difficile à comprendre pour moi. – user1812111

+0

@ user1812111 voulez-vous que le texte soit formaté? Que voulez-vous dire dans le "ressemble à un paragraphe"? – ExWei

+0

Je dois envoyer le texte de cette div par email. Donc, si j'utilise du texte(). Je vois cela comme un paragraphe au lieu d'éléments. regardez ceci http://www.ankooverseas.com/select_university j'essaye d'attraper le texte de la colonne droite sous des universités choisies. – user1812111