2016-11-07 5 views
2

Verwenden Sie Abschrift-Konverter Javascript, um Text in Benutzerantwort Bereich zu konvertieren, aber es nur den letzten Text von einem anderen Benutzer und legen Sie es an der Spitze, ich weiß nicht, was ich falsch gemacht habe .Javascript, um Element durch ID mit for for Schleife ersetzen

<script> 
 
var inputs = document.getElementsByClassName("RepIcer"); 
 
var converter1 = Markdown.getSanitizingConverter(); 
 
var CODESOFTLAB = new Markdown.Converter(converter1); 
 

 
for(var i = 0; i < inputs.length; i++){ 
 
    var input = inputs[i]; 
 
    var value = input.value; 
 
    var MarkDownPreviewHtml = CODESOFTLAB.makeHtml(value); 
 
    var targetId = input.id.replace("before", "replysjl"); 
 
    var targetSpan = document.getElementById(targetId); 
 
    targetSpan.innerHTML = MarkDownPreviewHtml; 
 
    var a = 10; 
 
}//for() 
 

 
</script>
<p id="reply-0"></p> 
 
    <textarea id="replybefore-0" style="display:none;" class="RepIcer">Hello how are you</textarea> 
 
    
 
    <p id="reply-5"></p> 
 
    <textarea id="replybefore-5" style="display:none;" class="RepIcer">HHHH okay</textarea> 
 
    
 
    <p id="reply-6"></p> 
 
    <textarea id="replybefore-6" style="display:none;" class="RepIcer">Whuyyyy</textarea> 
 
    
 
    <p id="reply-10"></p> 
 
    <textarea id="replybefore-10" style="display:none;" class="RepIcer">Not working</textarea>

Beispiel meiner html

<p id="reply-0"></p> 
<textarea id="replybefore-0" style="display:none;" class="RepIcer">Hello how are you</textarea> 

<p id="reply-5"></p> 
<textarea id="replybefore-5" style="display:none;" class="RepIcer">HHHH okay</textarea> 

<p id="reply-6"></p> 
<textarea id="replybefore-6" style="display:none;" class="RepIcer">Whuyyyy</textarea> 

<p id="reply-10"></p> 
<textarea id="replybefore-10" style="display:none;" class="RepIcer">Not working</textarea> 

Warum i mischen haben die p und textarea Element-ID basierend auf der Zeit wird die Antwort in der Datenbank die ID der Antwort eingefügt wird Nachricht von db ist, was ich in reply-XX and replybefore-XX benutze, wenn dies eine andere Möglichkeit ist, es zu tun, um gefälschte ID wie "12345 ..." bis letzte Antwort hinzuzufügen, ich werde es mögen

als hier ist mein Javascript Text in Textfeld zu bekommen und in p-Element angezeigt werden in entsprechend der ID jedes Elements

<script> 
 
    var inputs = document.getElementsByClassName("RepIcer"); 
 
     var converter1 = Markdown.getSanitizingConverter(); 
 
     var CODESOFTLAB = new Markdown.Converter(converter1); 
 
     
 
     for(var i = 0; i < inputs.length; i++){ 
 
      var input = inputs[i]; 
 
      var value = input.value; 
 
      var MarkDownPreviewHtml = CODESOFTLAB.makeHtml(value); 
 
      var targetId = input.id.replace("before", "replyList"); 
 
      var targetSpan = document.getElementById(targetId); 
 
      targetSpan.innerHTML = MarkDownPreviewHtml; 
 
      var a = 10; 
 
     } 
 
    </script>

+0

Könnten Sie bitte Ihren Code drehen in einen Schnipsel einfügen? – tmslnz

+0

@tmslnz Ich habe nicht verstanden, was du meinst, sorry –

+0

Bearbeiten Sie Ihre Frage und Sie werden eine Schaltfläche wie '<>' im Editor sehen. Klicken Sie darauf und geben Sie Ihren Code dort ein. – tmslnz

Antwort

0

Hier ist eine jsFiddle Version ohne Markdown, aber man konnte von da aus ausgearbeitet.

Ihre targetId ersetzen war nicht richtig, siehe unten für Code zu ersetzen, das funktioniert:

var inputs = document.getElementsByClassName("RepIcer"); 

for(var i = 0; i < inputs.length; i++){ 
    var input = inputs[i]; 
    var value = input.value; 
    var targetId = input.id.replace("before", ""); 
    var targetSpan = document.getElementById(targetId); 
    targetSpan.innerHTML = value; 

} 
Verwandte Themen