» »

javascript submit

javascript submit

pero_ ::

Že tri dni se ukvarjam s tem problemom.
Delam spletno stran, kjer preverim, če uporabnik pritisne tipko enter in potem uporabnika vrže na neko stran. spodaj je javascript koda, ki dela, če je notri alert('...'). Brez alerta ne dela, čeprav bi pomoje moralo.

<script language="javascript">
function handleKeyPress(e, vnos){
var key = e.keyCode || e.which;
if (key == 13){
out = " ";
add = "+";
temp = "" + vnos;
while (temp.indexOf(out) > -1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add + 
temp.substring((pos + out.length), temp.length));
}
location.href = "http://www.google.co.uk/#hl=en&q="+temp+"&meta=&fp=2c052e832584087e";
alert('Se oproščamo za to okno :S'); //<------brez tega ne dela!!!!!
}
}
</script>

<form name="sloform">
<input type="text" name="text" size="60" onkeypress="handleKeyPress(event, document.sloform.text.value)">
</form>


imam tudi gumb, ki izvrši enako kodo (brez alerta), ki dela. Problemi se pa pojavijo, ko dam temu gumbu type="submit".

lp

Binji ::

Ce ze delas submit preko JS, zakaj bi sploh rabil imeti gumb tipa submit?
Kdor ne navija ni Slovenc, hej, hej, hej!

pero_ ::

Saj nimam gumba tipa submit, samo tudi ko sem ga imel ni delalo. Hotel sem povedati, da v nobenem primeru ni delalo.

dfajt ::

Po pravici povedano, ne vem, zakaj točno ta zadeva ne deluje. Sem si pa dovolil malce spremeniti tvojo kodo, tako da se event proži sam, glede na pritisnjen gumb na celotni strani in ne le na formi oz. tekstovnem polju.
<script language="javascript">

	function preveriEnter(evt){
		var evt  = (evt) ? evt : ((event) ? event : null);

		var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);


		if ((evt.keyCode == 13) && (node.type=="text")) {
			vnos=document.forms[0].elements["text1"].value
			out = " ";
			add = "+";
			temp = "" + vnos;
			while (temp.indexOf(out) > -1) {
				pos= temp.indexOf(out);
				temp = "" + (temp.substring(0, pos) + add + 
				temp.substring((pos + out.length), temp.length));
			}
						location.href = "http://www.google.co.uk/#hl=en&q="+temp+"&meta=&fp=2c052e832584087e";
			return false;

		}else if ((evt.keyCode == 13) && (node.type=="file")) {
			return false;
		}}

		document.onkeypress = preveriEnter;
</script>

<form name="sloform">
<input type="text" name="text1" size="60"">
</form>

misek ::

Zakaj pa ne uporabiš kar direktno submit-a:
<html>
<head>
<script type="text/javascript">
function handleSubmit(vnos) { 
out = " "; 
add = "+"; 
temp = "" + vnos; 

while (temp.indexOf(out) > -1) { 
	pos= temp.indexOf(out); 
	temp = "" + (temp.substring(0, pos) + add + temp.substring((pos + out.length), temp.length)); 
}
location.href = "http://www.google.co.uk/#hl=en&q="+temp+"&meta=&fp=2c052e832584087e"; 
return false;	
}
</script>
</head>
<body>

<form name="sloform" action="" method="get" onsubmit="handleSubmit(document.sloform.text.value);return false;">
 <input name="text" type="text" size="60" />
</form>

</body>
</html>

pero_ ::

@dfajt: hvala, tvoja rešitev dela :)
@misek: že prej sem se igral s submitom in tudi tvojo kodo sem sprobal, vendar submit enostavno ne dela.

Obema najlepša hvala za trud :)

misek ::

@misek: že prej sem se igral s submitom in tudi tvojo kodo sem sprobal, vendar submit enostavno ne dela.
Prosim? Tole kodo sem jaz sprobaval na Operi in IE pa povsod dela. A to poganjaš lokalno (file://localhost/....) ali iz spletnega strežnika? Lokalno mi IE nekaj teži s security in očitno brskalnik sam kaj blokira.
Pa tudi samo iskanje preko Googla ti gre 2x skozi in iskanje ne naredi v enem koraku.

pero_ ::

Kodo sem dodal na celotno spletno stran in ni delalo. Posebej dela. Poganjam pa lokalno s Firefoxom.

misek ::

Se ti da za hec to kodo skopirati na strežnik in sprobati? Ni pa nujno. Svoj problem si itak že rešil :)

pero_ ::

Tukaj je povezava, ki jo želiš misek. Še enkrat hvala za trud :)

misek ::

Hvala. Sem sprobal. Dela v Operi in IE.
Kakorkoli... Glavno da je problem rešen.


Vredno ogleda ...

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

Javascript DOM based XSS vulnerability

Oddelek: Programiranje
152450 (1872) MrStein
»

[JavaScript] Validacija e-mail naslova

Oddelek: Izdelava spletišč
7828 (680) KaiSmith
»

java mali problem (začetnik)

Oddelek: Programiranje
192215 (1958) ozbolt
»

C# - keypress

Oddelek: Programiranje
201548 (1279) urkrajnc
»

Internet strani kot slideshow

Oddelek: Izdelava spletišč
211989 (1740) sverde21

Več podobnih tem