» »

Javascript pomoč

fr333k ::

Ravno delam eno spletno stran, pa me zanima kako se z javascriptom naredi da imaš okno za vnašanje in en gumb. Če v okno vneseš recimo 123 in klikneš na gumb se pokaže sporočilo 'sprejeto', če pa vneseš kaj drugega, se pa pokaže 'zavrnjeno'. Malo sem gledal tutoriale, in sem nekaj delal z if... else, pa alert, samo noče delat.
Hvala za pomoč.

hamax ::

function jeOk() {
if (document.getElementById('okno').innerHTML == "123") alert('sprejeto');
else alert('napaka');
}
gumbu pa dodas onclick="jeOk()"
http://hamsworld.net/

root987 ::

Če pa te zanima preverjanje tipa... typeof.
"Myths which are believed in tend to become true."
--- George Orwell

fr333k ::

Zdej mam tako:

v head:
<script type="text/javascript">
function jeOK() {
if (document.getElementById('ff').innerHTML == "123") alert("Sprejeto");
else alert("Napaka");
}
</script>


v body:
<input type="text" id="ff" size="5"><br>
<input type="button" onclick="jeOK()" value="Klik" />


Pa mi vedno pokaže napaka, kar koli vnesem.

misek ::

Namesto innerHTML uporabi value.

fr333k ::

Hvala, zdaj dela.

demon#666 ::

Pozdravljeni!
Rabim malo pomoči pri enem delu kode za simpl kalkulator, in sicer bi rad, da se obe števili izpišeta in ne le rezultat (v obliki: 5+2=7)

<script type="text/javascript">
stevilo1 = parseInt (prompt("Napiši prvo poljubno naravno število"))
stevilo2 = parseInt (prompt("Napiši drugo poljubno naravno število"))
operator = prompt ("Vpišite znak za operacijo (+-/*)")


if (operator == "+")
{
document.write (stevilo1 + stevilo2)
}

if (operator == "-")
{
document.write (stevilo1 - stevilo2)
}

if (operator == "*")
{
document.write (stevilo1 * stevilo2)
}

if (operator == "/")  
{
document.write (stevilo1 / stevilo2)
}
</script>


LP

---
sem že rešu :)
Sabertooth Z87|4670K|8GB|840 PRO 256GB|
R9 270X WindForce|Seasonic 660|Define R3

Zgodovina sprememb…

PureHemp ::

<script type="text/javascript">
stevilo1 = parseInt (prompt("Napiši prvo poljubno naravno število"))
stevilo2 = parseInt (prompt("Napiši drugo poljubno naravno število"))
operator = prompt ("Vpišite znak za operacijo (+-/*)")


if (operator == "+")
{
document.write (stevilo1 + "+" + stevilo2 + "=" + (stevilo1 + stevilo2));
}

if (operator == "-")
{
document.write (stevilo1 + "-" + stevilo2 + "=" + (stevilo1 - stevilo2));
}

if (operator == "*")
{
document.write (stevilo1 + "*" + stevilo2 + "=" + (stevilo1 * stevilo2));
}

if (operator == "/")  
{
document.write (stevilo1 + "/" + stevilo2 + "=" + (stevilo1 / stevilo2));
}
</script>


LP,
P

Zgodovina sprememb…

  • spremenil: PureHemp ()

demon#666 ::

Lažje je tako ;)
			stevilo1 = parseInt (prompt("Napiši prvo poljubno naravno število"))
			stevilo2 = parseInt (prompt("Napiši drugo poljubno naravno število"))
			operator = prompt ("Vpišite znak za operacijo (+-/*)")
			document.write (stevilo1)
			document.write (operator)
			document.write (stevilo2)
			document.write ("=")

			
			if (operator == "+")
			{
			document.write (stevilo2 + stevilo2)
			}
			
			if (operator == "-")
			{
			document.write (stevilo1 - stevilo2)
			}
			
			if (operator == "*")
			{
			document.write (stevilo1 * stevilo2)
			}
			
			if (operator == "/")  
			{
			document.write (stevilo1 / stevilo2)
			}
		</script>


LP
Sabertooth Z87|4670K|8GB|840 PRO 256GB|
R9 270X WindForce|Seasonic 660|Define R3

Lion29 ::

sicer vsi vemo, da je eval "EVIL". ampak ta koda je veliko bolj elegantna

<script>
	var stevilo1 = parseInt (prompt("Napiši prvo poljubno naravno število"));
	var stevilo2 = parseInt (prompt("Napiši drugo poljubno naravno število"));
	var operator = prompt ("Vpišite znak za operacijo (+-/*)");
	document.write (stevilo1);
	document.write (operator);
	document.write (stevilo2);
	document.write ("=");

	document.write(eval(stevilo1 + operator +  stevilo2));

</script>


ce ne gre za kaj resnega, je ok tako, ce pa je to del kaksnega resnejsega projekta, bi pa bilo fajn, da naredis se array dovoljenih operatorjev in ob promptu preverjas, ce je vneseni tekst del omenjenega arraya... stevilo1 pa stevilo2 pa ze itak spreminjas v int, tak da ne more priti do zlorab tam
Frontend UI/UX developer

Zgodovina sprememb…

  • spremenil: Lion29 ()

demon#666 ::

Ma ni za nič resnejšega. Samo sem hotel rečt, da namesto vega tipkanja sem dodal uni del kode :D
nisem (še) tolko vešč te JS, da bi obvladal vse funkcije

LP
Sabertooth Z87|4670K|8GB|840 PRO 256GB|
R9 270X WindForce|Seasonic 660|Define R3

švrk ::

Pozdravljeni,

<input type="button" onclick="stevila()" value="SHow" />

V html imam zgoraj omenjen gumbek, ki pač pokliče JS programček, ki izpiše nek tekst. Želim, da bi se ob kliku tekst izpisal v točno določen
<div>
. Kako mu torej pokažem kam naj izpiše?

Hvala in lp

Lion29 ::

švrk, inline javascript is so passeé!
uporabi jQuery framework in tvoje zivljenje bo veliko lazje!

z jQuerijem to naredis zelo preprosto

html kpda
<input type="button" value="Show" id="btn_1" />
<div id="div_1"></div>
<div id="div_2"></div>
<div id="div_3"></div>


pa se JS koda

 <script type="text/javascript" src="jquery.js"></script>          
 <script type="text/javascript">                                         
  $(document).ready(function() {
     //gumbku z IDjem btn_1 dolocimo click event, ki se sprozi ob kliku nanj
     $('#btn_1').click(function(event){ 
         event.preventDefault(); //preprecimo obicajno obnasanje gumbka
         $('#div_1').html('Zeljeni tekst');
         $('#div_2').append('<b>text 2</b>');
         $('#div_3').text('tekst v div 3');
     });
 });                                  
 </script>
Frontend UI/UX developer

švrk ::

@Lion29

z klikom na gumbek se izvede tale funkcija:
function stevila(){
for (i = 0; i <= 5; i++){
document.write("The number is " + i);
document.write("<br />");}}

pač nekaj brez veze, ker se še učim. Vse kar želim je, da bi ob kliku tole izpisalo v div z id="bla".
Sem skopiral to kar si napisal, vendar se ob kliku na gumbek nič ne zgodi?

Lion29 ::

zato ker moras skopirat v isti direktorij se jQuery..
<script type="text/javascript" src="jquery.js"></script>


to vrstico potem nastavis na tisto datotko, ki jo poberes....

zelo toplo priporocam jQuery, sploh za zacetnike...

ce ne ves kaj je to, to je nek skupek osnovnih orodij za lazje programiranje v javascriptah... bolj kot skupek orodij je to framework oz. po slovensko ogrodje, temelji, okvir.....

priporocam da si pogledas mal njihovo stran, pa kak tutorial how to start with jQuery.... bos videl, vse se ti bo zdelo simple in logicno!
Frontend UI/UX developer

švrk ::

@Lion29

Sm skopiral, takole izgleda moj prvi.js
function show_alert(){
alert("Hello! I am an alert box!");}

function stevila(){
for (i = 0; i <= 5; i++){
document.write("The number is " + i);
document.write("<br />");}}

$(document).ready(function() {
    //gumbku z IDjem btn_1 dolocimo click event, ki se sprozi ob kliku nanj
    $('#btn_1').click(function(event){ 
        event.preventDefault(); //preprecimo obicajno obnasanje gumbka
        $('#div_1').html('Zeljeni tekst');
        $('#div_2').append('<b>text 2</b>');
        $('#div_3').text('tekst v div 3');    }); });


potem v html imam pa tako narejeno
<head>
    <script type="text/javascript" src="lib/prvi.js"></script>
</head>
<body>
 <div id="vsebina">
      <input type="button" id="btn_1" value="Show"/>
         <div id="div_1"></div>
         <div id="div_2"></div>
         <div id="div_3"></div>
      </div>
 </body>
</html>


Poleg so še ostale stvari vendar sem samo bistveni del skopiral, ki se tiče problema. V čemu je problem, da ne deluje tvoja prekopirana koda oz. kaj sem naredil narobe?

Hvala za odgovor

Lion29 ::

ja itak...

podal sem ti vse informacije kje in kako do znanja...po tvojem pisanju sem dobil obcutek, da sploh nisi nic prebral le kopiral kaj sem napisal...

pozorno se enkrat preberi kaj sem napisal in poskusaj to tudi upostevat... ne mores me sprasevat naprej, ce kar preskocis kaj ti svetujem
Frontend UI/UX developer

švrk ::

Sem mislil, da to deluje po enakem principu kot JS. Pač, da napišeš kodo v .js in potem kličeš. Sicer pa se predam, tale jQuery mi je čista neznanka, ogromno novih ukazov, znakov in oklepajev za katere pojma nimam kaj pomenijo. Moje vprašanje pa je zgolj marginalnega pomena, zato se vsaj na tem nivoju nebi spuščal v nova okolja kot je jQuery.

Ali se res ne da preprosti JS funkciji, ki izpiše nekaj zaporednih številk določit v kateri DIV naj to izpiše? Tudi, če tale gumb, dam v DIV kjer želim izpis
<div><input type="button" onclick="stevila()" value="SHow" /></div>

mi ob kliku nanj odpre bel list v katerem to izpiše.

lp

Lion29 ::

seveda se da!
ampak kot receno, raje kot da se ucis bare javascripte, se nauci uporabljat javascripto znotraj jQueryja...

Sem mislil, da to deluje po enakem principu kot JS. Pač, da napišeš kodo v .js in potem kličeš.


seveda da deluje po enakem principu, saj to JE JS



tle imas celotni primer...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Naslov strani</title>
		
		
		<script type="text/javascript" src="jquery.js"></script>          
		<script type="text/javascript">
			function stevila(){
				var str = '';
				for (i = 0; i <= 5; i++){
					str += i;
				}
				return str;
			}
			$(document).ready(function() {
			 //gumbku z IDjem btn_1 dolocimo click event, ki se sprozi ob kliku nanj
				$('#btn_1').click(function(event){ 
					event.preventDefault(); //preprecimo obicajno obnasanje gumbka
					$('#div_1').html('Zeljeni tekst');
					$('#div_2').append(stevila());
					$('#div_3').text('tekst v div 3');
				});
			});
		</script>
    </head>
    <body>
       <input type="button" value="Show" id="btn_1" />
		<div id="div_1"></div>
		<div id="div_2"></div>
		<div id="div_3"></div
    </body>
</html>



se enkrat, tam ko klices jquery.js, nastavi pravo pot do skripte, ki jo poberes na jquery strani
Frontend UI/UX developer

Zgodovina sprememb…

  • spremenil: Lion29 ()

švrk ::

Super, sedaj pa deluje, ko sem namesto jquery.js napisal http://code.jquery.com/jquery-1.5.min.js
najlepša hvala za odgovor in pomoč.

Morda kljub temu veš, kako bi to naredil brez pomočjo jquery, ali je preveč zakomplicirano? Se sploh da normalno pisat v div, v mislih imam fiksen div in ne kakšnih animacij z odpiranjem in zapiranjem?

lp

Lion29 ::

se da

ampak ce je tvoj namen se uciti, pote, niti ne izgubljaj casa
Frontend UI/UX developer


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

asm - vnos stevilk s tipkovnice

Oddelek: Programiranje
5514 (370) scarymovie
»

C

Oddelek: Programiranje
11566 (441) ;-)
»

[C++] - Tolmačenje povedi in izvedba operacij nad števkami

Oddelek: Programiranje
352109 (1345) jernejl
»

slike

Oddelek: Izdelava spletišč
8488 (390) anubisas
»

if flash else html....

Oddelek: Izdelava spletišč
10701 (523) alesrosina

Več podobnih tem