Vinnaren i pepparkakshustävlingen!
2018-06-09, 21:54
  #1
Medlem
Jag skriver 76561197984489917 i steam_input och klickar steam it då skrivs det ut data i steam_info.
Istället för att skriva in det vill jag att "data" hämtas direkt från steam_input2 elementet så att jag slipper skriva det manuellt varje gång.

Kan ni hjälpa mig?

Koden är good to go om ni vill testa eller testa den här https://liveweave.com/wOVSUW

Kod:
<span id="steam_info"></span>

</
br>

<
span id="steam_input2">76561197984489917</span>

</
br>

<
div id="page">
 <
input type="text" id="steam_input" placeholder="Any Steam ID or User URL"/><br/>
 <
button onclick="steam_id()">Steam it</button>
</
div>

<
script>        
        function 
steam_id(){
            var 
InputForm document.getElementById("steam_input");//read the input
            
var data InputForm.value//load up text box into variable
            
data data.replace(/^\s\s*/, "").replace(/\s\s*$/, "");; //trim spaces from start and end
            
InputForm.value=data//revert string to input (trimmed)
            
var SID64_1 "7656"//Starting Steam ID is 76561197960265728 (javascript cant handle numbers that big, so i took firt 4 digits out) and use them as a string
            
var SID64_S Number(1197960265728); //the rest of the digits from the Starting Steam ID (to calculate with) after calculations the remaining numbers will be SID64_2
            
var isSteamID false//prepare in case that its not a steamid
            
var isCustomUrl false//prepare in case that its not a custom url
            
var PatternSteam3ID = /^\[([Ug]):([0-9]):([0-9]+)\]$/; // [U:1:40571167] [letter:number:longer_number]
            
var PatternSteamID32 = /^STEAM_([0-9]):([0-9]):([0-9]+)$/; // STEAM_0:1:20285583 //find a string starting with STEAM_number:number:longer_number
            
var PatternSteamID64 = /7656([0-9]{12,14})/; // 76561198000836895 number starting with 7656 (SID32_1) and has 12-14 more numbers after (SID64_2)
            
var PatternCustomUrl = /steamcommunity\.com\/id\/([A-Za-z0-9-_]{2,32})/; //find an id starting with steamcommunity.com/id/ and having allowed characters 2-32 long
            
var PatternMaybeCustomUrl = /^([A-Za-z0-9-_]{2,32})$/; //just a string of 2-32 allowed chars
            
if(PatternSteam3ID.test(data)){ // [U:1:40571167]
//////////////////////////////////////////////////////////////////////////////////////////////////////////        
            
}else if(PatternSteamID64.test(data)){ // 76561198000836895
                
var SteamID64 PatternSteamID64.exec(data);
                
SID64_2 Number(SteamID64[1]);
                var 
S3ID_3 SID64_2 SID64_S;
                if(
Math.abs(S3ID_3 2) == 1){var SID32_2 1;}else{var SID32_2 0;} //odd or even
                
var SID32_3 = ( S3ID_3 SID32_2 ) / 2;
                
isSteamID true;
            }
//////////////////////////////////////////////////////////////////////////////////////////////////////////
            
if(isCustomUrl == true){//handle custom url
            
            
}else if(isSteamID == true){//handle SteamIDs
                
var S3ID "[U:1:"+S3ID_3+"]";
                var 
SID32 "STEAM_0:"+SID32_2+":"+SID32_3;
                var 
SID64 SID64_1+SID64_2;
                
document.getElementById("steam_info").innerHTML "<table><tr style=\"width:200px;\"><tr><td>"+SID32+"</td></tr></table>";
            }
        }
</script> 
__________________
Senast redigerad av Flach1337 2018-06-09 kl. 22:02.
Citera
2018-06-10, 00:16
  #2
Medlem
Trimmade koden mer. För att endast ta med det som behövs.

Kod:
<span id="steam_info"></span>

</
br>

<
span id="steam_input2">76561197984489917</span>

</
br>

<
div id="page">
 <
input type="text" id="steam_input"/><br/>
 
 <
button onclick="steam_id()">Steam it</button>
 
</
div>    

<
script>        
        function 
steam_id(){
            var 
InputForm document.getElementById("steam_input");//read the input
            
var data InputForm.value//load up text box into variable
            
data data.replace(/^\s\s*/, "").replace(/\s\s*$/, "");; //trim spaces from start and end
            
InputForm.value=data//revert string to input (trimmed)
            
var SID64_1 "7656"//Starting Steam ID is 76561197960265728 (javascript cant handle numbers that big, so i took firt 4 digits out) and use them as a string
            
var SID64_S Number(1197960265728); //the rest of the digits from the Starting Steam ID (to calculate with) after calculations the remaining numbers will be SID64_2
            
var PatternSteamID64 = /7656([0-9]{12,14})/; // 76561198000836895 number starting with 7656 (SID32_1) and has 12-14 more numbers after (SID64_2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////
            
if(PatternSteamID64.test(data)){ // 76561198000836895
                
var SteamID64 PatternSteamID64.exec(data);
                
SID64_2 Number(SteamID64[1]);
                var 
S3ID_3 SID64_2 SID64_S;
                if(
Math.abs(S3ID_3 2) == 1){var SID32_2 1;}else{var SID32_2 0;} //odd or even
                
var SID32_3 = ( S3ID_3 SID32_2 ) / 2;
                
isSteamID true;
            }
//////////////////////////////////////////////////////////////////////////////////////////////////////////
            
if(isSteamID == true){//handle SteamIDs
                
var SID32 "STEAM_0:"+SID32_2+":"+SID32_3;
                
document.getElementById("steam_info").innerHTML "<table><tr style=\"width:200px;\"><tr><td>"+SID32+"</td></tr></table>";
            }
        }
</script> 
Citera
2018-06-10, 08:28
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av Flach1337
Trimmade koden mer. För att endast ta med det som behövs.

Kod:
<span id="steam_info"></span>

</
br>

<
span id="steam_input2">76561197984489917</span>

</
br>

<
div id="page">
 <
input type="text" id="steam_input"/><br/>
 
 <
button onclick="steam_id()">Steam it</button>
 
</
div>    

<
script>        
        function 
steam_id(){
            var 
InputForm document.getElementById("steam_input");//read the input
            
var data InputForm.value//load up text box into variable
            
data data.replace(/^\s\s*/, "").replace(/\s\s*$/, "");; //trim spaces from start and end
            
InputForm.value=data//revert string to input (trimmed)
            
var SID64_1 "7656"//Starting Steam ID is 76561197960265728 (javascript cant handle numbers that big, so i took firt 4 digits out) and use them as a string
            
var SID64_S Number(1197960265728); //the rest of the digits from the Starting Steam ID (to calculate with) after calculations the remaining numbers will be SID64_2
            
var PatternSteamID64 = /7656([0-9]{12,14})/; // 76561198000836895 number starting with 7656 (SID32_1) and has 12-14 more numbers after (SID64_2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////
            
if(PatternSteamID64.test(data)){ // 76561198000836895
                
var SteamID64 PatternSteamID64.exec(data);
                
SID64_2 Number(SteamID64[1]);
                var 
S3ID_3 SID64_2 SID64_S;
                if(
Math.abs(S3ID_3 2) == 1){var SID32_2 1;}else{var SID32_2 0;} //odd or even
                
var SID32_3 = ( S3ID_3 SID32_2 ) / 2;
                
isSteamID true;
            }
//////////////////////////////////////////////////////////////////////////////////////////////////////////
            
if(isSteamID == true){//handle SteamIDs
                
var SID32 "STEAM_0:"+SID32_2+":"+SID32_3;
                
document.getElementById("steam_info").innerHTML "<table><tr style=\"width:200px;\"><tr><td>"+SID32+"</td></tr></table>";
            }
        }
</script> 
Borde ju funka med inneHtml?

Kod:
<span id="steam_info"></span>

</
br>

<
span id="steam_input2">76561197984489917</span>

</
br>

<
div id="page">
 <
input type="text" id="steam_input"/><br/>
 
 <
button onclick="steam_id()">Steam it</button>
 
</
div>    


<
script type="tex/JavaScript">
document.getElementById("steam_input").value document.getElementById("steam_input2").innerHTML;
//mer kod...
</script> 
Citera
2018-06-10, 12:29
  #4
Medlem
Nej inte helt rätt.

Din kod tar data från steam input2 och lägger in det i steam input.
Klickar jag "steam it" så ska räknaren räkna direkt från steam input2 och inte input boxen "steam input".

Första: https://liveweave.com/wOVSUW
Din: https://liveweave.com/qGmYDL
__________________
Senast redigerad av Flach1337 2018-06-10 kl. 12:42.
Citera
2018-06-10, 18:33
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av Flach1337
Nej inte helt rätt.

Din kod tar data från steam input2 och lägger in det i steam input.
Klickar jag "steam it" så ska räknaren räkna direkt från steam input2 och inte input boxen "steam input".

Första: https://liveweave.com/wOVSUW
Din: https://liveweave.com/qGmYDL
Dina inlägg är ju näst intill obegripliga.

Vad är det du vill göra?
Vill du ta data från steam input2 och göra något med den? Vad i sådana fall?

Vad betyder
Citat:
Klickar jag "steam it" så ska räknaren räkna direkt från steam input2 och inte input boxen "steam input"
Citera
2018-06-10, 18:52
  #6
Medlem
Klickar jag "steam it" så ska räknaren ta siffran direkt från "id=steam input2"
Citera
2018-06-10, 22:23
  #7
Medlem
Citat:
Ursprungligen postat av Flach1337
Klickar jag "steam it" så ska räknaren ta siffran direkt från "id=steam input2"

Byt ut de fyra första raderna i funktionen mot:

Kod:
var inputSpan = document.getElementById("steam_input2");//read the input 
var data = inputSpan.innerHTML; //load up text box into variable 
data = data.replace(/^\s\s*/, "").replace(/\s\s*$/, ""); //trim spaces from start and end 
inputSpan.innerHTML=data; //revert string to input (trimmed) 
Citera
2018-06-10, 23:08
  #8
Medlem
Citat:
Ursprungligen postat av Nich
Byt ut de fyra första raderna i funktionen mot:

Kod:
var inputSpan = document.getElementById("steam_input2");//read the input 
var data = inputSpan.innerHTML; //load up text box into variable 
data = data.replace(/^\s\s*/, "").replace(/\s\s*$/, ""); //trim spaces from start and end 
inputSpan.innerHTML=data; //revert string to input (trimmed) 

Ja exakt tack så mycket!

Så enkelt bara att byta ut Form mot Span
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback