2016-05-09 6 views
0

htmlWie benutze ich das gleiche Namensschild, um innerhtml nach Klick anzuzeigen?

<div name="hhh" class="col-sm-7 new" align="left" > 

</div> 

Javascript

yes.onclick =function() 
{ 
var all = document.getElementsByName("hhh"); 
    for(var i = 0, max = all.length; i < max; i++) 
     { 
      all[i].innerHTML="You have clicked Yes."; 

     } 
} 


no.onclick =function() 
{ 
var all = document.getElementsByName("hhh"); 
    for(var i = 0, max = all.length; i < max; i++) 
     { 
      all[i].innerHTML="You have clicked No."; 

     } 
} 

Hier in html zwei Tasten geben es ja und no.If den Benutzer ja klickt, yes.onclick() ausgeführt wird und wenn der Benutzer klickt nein, nein. onclick() wird ausgeführt. In der gleichen Abteilung hhh, muss ich die Nachricht nach Klicken anzeigen. Aber wenn ich den obigen Code schreibe, wird die Nachricht noch vor dem Klick angezeigt. Es betrachtet hhh als nur einen Namen. Wie kann ich den Code bearbeiten, so dass er die Nachricht entsprechend dem Klick anzeigt? Im Moment ist es über das Schreiben der vorhandenen Nachricht. Ich möchte nicht über schreiben. Ich möchte die vorherige Nachricht auch anzeigen.

+0

Es ist nicht wirklich klar, was Sie fragen. Und was sind "Ja" und "Nein"? – Shilly

+0

Ja und Nein sind zwei Tasten und diese js Funktionen sind für das Klicken Ja und Nein Tasten –

+0

Schätze, Sie haben eine zu viele Reihe von() Klammern irgendwo, die bereits den Code auslösen. Ohne den HTML-Code der Tasten kann ich nicht sagen, was falsch ist. Bei der Zuweisung von Ereignissen wird das Ereignis je nach verwendeter Syntax bereits ausgeführt. – Shilly

Antwort

0
<div name="hhhYest" class="col-sm-7" onClick="clickEvent('yes')" new" align="left" > 
</div> 
<div name="hhhNo" class="col-sm-7" onClick="clickEvent('no')" new" align="left" ></div> 

function clickEvent(yesOrNo) 
{ 
//your logic here yesOrNo 

} 
0

sollte u getElementsByTagName() oder besser u verwenden getElementById verwenden sollten, wenn Sie nur ein div haben.

Wo weisen Sie einer js var den Namen "Ja" und "Nein" zu? vielleicht ist das Problem das. wenn es keinen Grund gibt Funktion dinamically von Code zuweisen Sie auch

<input type="button" value="yes/no" onClick="myError(this)"> 
0

Es gibt viele Möglichkeiten in Javascript klicken Ereignisse zu behandeln

function myError(e){ 
    var all = document.getElementsByTagName("hhh"); 
     for(var i = 0, max = all.length; i < max; i++) 
     { 
      all[i].innerHTML="You have clicked " + e.value; 

     } 
} 

dann zuweisen Funktion ur-Taste nur eine Funktion definieren können. Es scheint, als ob Sie versuchen, eine Schaltflächen-Benutzeroberfläche zu entwerfen. Sie sollten ein Array von Elementen nicht analysieren müssen, wählen Sie einen besseren Selektor. Außerdem gibt es kein Namensattribut für div Elemente in HTML, Ihr alle Array ist null.

Eine Möglichkeit, dies zu tun, ist unten gezeigt.

https://jsfiddle.net/699ddkvk/

<div id="hi" style="background-color: red; width:50px; height:50px;" align="left" ></div> 
<br> 
<div id="ho" style="background-color: blue; width:50px; height:50px;" align="left" ></div> 

red = document.getElementById("hi"); 
blue = document.getElementById("ho"); 

red.onclick=function(){ 
    red.innerHTML="YES"; 
}; 

blue.onclick=function(){ 
    blue.innerHTML="YES"; 
}; 
0
all[i].innerHTML = ... 
all[i].innerHTML += "\n" + ... 

Und fiorget nicht

white-space: pre-line; 

in CSS zu setzen.

Verwandte Themen