Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 10:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Javascript Button Replace Text

Discussion on Javascript Button Replace Text within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
MaLLaH95's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 106
Received Thanks: 16
Javascript Button Replace Text

Hallo,

ich habe eine Frage, wie kann man unendlich viele <span> einfügen, damit es funktioniert?
Zurzeit kann man das nur auf einer anwenden und die andere beiden bleiben bei localhost...

HTML Code:
<input type="button" value="localhost" class="pText" onclick="changeText('localhost');"/>

<input type="button" value="jeder" class="pText" onclick="changeText('%');"/>
HTML Code:
<span id="pText">localhost</span>
<span id="pText">localhost</span>
<span id="pText">localhost</span>
Javascript
PHP Code:
function changeText(text) {
document.getElementById('pText').innerHTML=text;

MaLLaH95 is offline  
Old 08/13/2019, 11:50   #2
 
ShinoTV's Avatar
 
elite*gold: 46
Join Date: Jul 2016
Posts: 97
Received Thanks: 31
Quote:
Originally Posted by MaLLaH95 View Post
Hallo,

ich habe eine Frage, wie kann man unendlich viele <span> einfügen, damit es funktioniert?
Zurzeit kann man das nur auf einer anwenden und die andere beiden bleiben bei localhost...

HTML Code:
<input type="button" value="localhost" class="pText" onclick="changeText('localhost');"/>

<input type="button" value="jeder" class="pText" onclick="changeText('%');"/>
HTML Code:
<span id="pText">localhost</span>
<span id="pText">localhost</span>
<span id="pText">localhost</span>
Javascript
PHP Code:
function changeText(text) {
document.getElementById('pText').innerHTML=text;



"id" zeigt immer nur auf ein objekt.
Ersetze es durch "class"


-------------
EDIT:
Du kannst auch einem Objekt sowohl eine id als auch eine class zuweisen.
Schau hier mal rein
ShinoTV is offline  
Old 08/13/2019, 12:04   #3
 
MaLLaH95's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 106
Received Thanks: 16
<span class="pText">localhost</span>
<span class="pText">localhost</span>
<span class="pText">localhost</span>

function changeText(text) {
document.getElementByClass('pText').innerHTML=text ;
}

funktioniert nicht
MaLLaH95 is offline  
Old 08/13/2019, 12:19   #4
 
lnqlorlouz's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
Du musst dir alle Elemente holen. Mit document.getElementById bekommst du immer nur das erste gefundene Element mit der Id. Und dann musst du ganz klassisch einfach nur durch iterieren.

Eine Id sollte eigentlich immer eindeutig sein.
HTML Code:
function changeText(text) {
    var spans = document.querySelectorAll("#pText");
    for (var i = 0; i < spans.length; i++) {
        spans[i].innerHTML = text;
    }
}
oder
HTML Code:
function changeText(text) {
    var spans = document.getElementsByClassName("pText");
    for (var i = 0; i < spans.length; i++) {
        spans[i].innerHTML = text;
    }
} 
oder moderner ES6-JavaScript-Code
HTML Code:
const changeText = (text) => {
    const spans = document.querySelectorAll("#pText");
    spans.forEach((el) => el.innerHTML = text);
}
lnqlorlouz is offline  
Thanks
2 Users
Old 08/13/2019, 12:57   #5
 
MaLLaH95's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 106
Received Thanks: 16
Quote:
Originally Posted by lnqlorlouz View Post
Du musst dir alle Elemente holen. Mit document.getElementById bekommst du immer nur das erste gefundene Element mit der Id. Und dann musst du ganz klassisch einfach nur durch iterieren.

Eine Id sollte eigentlich immer eindeutig sein.
HTML Code:
function changeText(text) {
    var spans = document.querySelectorAll("#pText");
    for (var i = 0; i < spans.length; i++) {
        spans[i].innerHTML = text;
    }
}
oder
HTML Code:
function changeText(text) {
    var spans = document.getElementsByClassName("pText");
    for (var i = 0; i < spans.length; i++) {
        spans[i].innerHTML = text;
    }
} 
oder moderner ES6-JavaScript-Code
HTML Code:
const changeText = (text) => {
    const spans = document.querySelectorAll("#pText");
    spans.forEach((el) => el.innerHTML = text);
}
Dankeschön <3

Und wie macht man das mit einer Option?

<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
MaLLaH95 is offline  
Old 08/13/2019, 13:05   #6
 
lnqlorlouz's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
Quote:
Originally Posted by MaLLaH95 View Post
Dankeschön <3

Und wie macht man das mit einer Option?

<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
Was genau möchtest du machen?
lnqlorlouz is offline  
Old 08/13/2019, 13:08   #7
 
MaLLaH95's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 106
Received Thanks: 16
<select>
<option class="pText" value="volvo">Volvo</option>
<option class="pText" value="saab">Saab</option>
<option class="pText" value="opel">Opel</option>
<option class="pText" value="audi">Audi</option>
</select>

<span class="pText">localhost</span>
<span class="pText">localhost</span>
<span class="pText">localhost</span>

Genau das gleiche nur mit Option halt
MaLLaH95 is offline  
Old 08/13/2019, 13:14   #8
 
lnqlorlouz's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
Quote:
Originally Posted by MaLLaH95 View Post
<select>
<option class="pText" value="volvo">Volvo</option>
<option class="pText" value="saab">Saab</option>
<option class="pText" value="opel">Opel</option>
<option class="pText" value="audi">Audi</option>
</select>

<span class="pText">localhost</span>
<span class="pText">localhost</span>
<span class="pText">localhost</span>

Genau das gleiche nur mit Option halt
HTML:
HTML Code:
<select id="carSelect">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<span class="pText">localhost</span>
<span class="pText">localhost</span>
<span class="pText">localhost</span>
JavaScript:
HTML Code:
var carSelect = document.getElementById("carSelect");
carSelect.addEventListener("change", function() {
	changeText(this);
});

function changeText(text) {
var selected = text.value;
 var spans = document.querySelectorAll(".pText");
    for (var i = 0; i < spans.length; i++) {
        spans[i].innerHTML = selected;
    }
}
lnqlorlouz is offline  
Thanks
1 User
Old 09/08/2019, 20:17   #9
 
FrictionF0's Avatar
 
elite*gold: 1476
Join Date: Nov 2017
Posts: 103
Received Thanks: 104
How about using jQuery? That can make things easier for you.
FrictionF0 is offline  
Old 09/11/2019, 18:29   #10


 
kangar00's Avatar
 
elite*gold: 23
Join Date: Nov 2013
Posts: 885
Received Thanks: 747
Quote:
Originally Posted by FrictionF0 View Post
How about using jQuery? That can make things easier for you.
There is not a need for using a framework for easy things like that.

He should not start to work with frameworks until he mastered vanilla javascript.
kangar00 is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
[B] Push Button [S] 10 e*gold/Button; 25 e*g/psd+Button
09/20/2013 - elite*gold Trading - 4 Replies
Moin, Hier könnt ihr folgenden Push Button kaufen: http://i.epvpimg.com/YlrYe.jpg Pro Button wären das 10e*g, pro Button mit .psd dazu 25e*g. Wenn ihr einen Button kaufen wollt, schreibt mir eine PN, damit ich den Namen ändern kann, alles hochladen kann und euch dann per Treasure schicken kann. ;) Schrift kann auch geändert werden. Dazu einfach in der PN schreiben, welche Schrift ihr haben wollt^^
[Release]Text replace
07/30/2013 - Metin2 PServer Guides & Strategies - 8 Replies
-
[GM/Javascript] str.replace funktioniert nur einmal
11/09/2011 - Web Development - 0 Replies
Ja hab n kleines Problem (wahrscheinlich wie das letzte mal ein absolut dummes http://www.skypesmiley.com/images/emoticon/emotico n-0105-wink.gif) und zwar: txtarea.addEventListener('keypress', function(e){ this.innerHTML = this.innerHTML.replace(/a/gi, 'test'); }, true);Nach Tastendruck werden alle "a"s mit dem String "test" ersetzt, wenn ich jetzt jedoch in meiner textarea noch n paar "a"s eingebe, werden diese nicht mit dem String "test" ersetzt, warum nicht?!? Das ganze ist n...



All times are GMT +2. The time now is 10:57.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.