Inlägg

Inlägg som Pucka har skrivit i forumet
Av Pucka

Som jag förstår det vill du att varje if-sats ska köras vid kontroll? Som det är nu så utförs bara ett vilkor. Detta p.g.a att du använder if else. Om du vill att alla if satser ska köras får du ta bort else. exempel.

function gb(form) { var passed = true; if (form.gbnamn.value.length < 3) { fixElement(form.gbnamn, "Ditt namn måste innehålla minst 3 tecken."); passed = false; } if (form.gbemail.value.length > 0) { if (form.gbemail.value.indexOf("@") == -1 || form.gbemail.value.indexOf(".") == -1) // - Se raden under, annars hamnar den utanför tråden - {//Här "stannar" skriptet. Jag försökte med en break; men då fick jag felmeddelande om att jag bara kan ha break; i loopar... fixElement(form.gbemail, "Din email är inte giltig."); passed = false; //Eller det är egentligen exakt här den stannar. } } if (form.gbhemsida.value.length > 0 && form.gbemail.value.indexOf(".") == -1) { fixElement(form.gbmeddelande, "Hemsidan är inte giltig."); passed = false; } if (form.gbmeddelande.value.length < 3) { fixElement(form.gbmeddelande, "Meddelandet måste innehålla minst 3 tecken."); passed = false; } return passed; }

Av Pucka

1. du har samma skript här som skript 2? funkar nämligen inte alls. detta borde fungera bättre.

function text() { alert(document.form1.namn.value); }

2. Vad får Fobj ifrån i ditt skript här? den ska naturligtvis bort och ersättas med document. Detta borde fungera.

function test() { if (document.form3.namn.value.indexOf('@')==-1) { alert ("Epost måste ha @"); return false } }

EDIT: vafan, försent igen!

Av Pucka

japp, men då får man skriva om den lite

function toggleDiv(id, src) { var element,display; if (document.getElementById) element = document.getElementById(id); else if (document.all) element = document.all[id]; else if (document.layers) element = document.layers[id]; if (element) { if (element.style.display == "") display = "none"; else display = (element.style.display == "block")?"none":"block"; element.style.display = display; src.innerHTML = ((display == "block")?"Dölj ":"Visa ") + id; } } ---- Observera att man måste använda sig av 'onclick' nu <a href="javascript:;" onclick="toggleDiv('div2',this);">Dölj div 2</a>

EDIT: damn, för sent.

Av Pucka

enklast är väl att göra en funktion som du anropar i länkerna. typ.

function toggleDiv(id, display) { var element; if (document.getElementById) element = document.getElementById(id); else if (document.all) element = document.all[id]; else if (document.layers) element = document.layers[id]; if (element) element.style.display = display; } och anropa i länk. <div id="div1"></div> <div id="div2"></div> <div id="div3"></div> <a href="Javascript:toggleDiv('div2','block');">Visa div 2</a> <a href="Javascript:toggleDiv('div2','none');">Dölj div 2</a>

Av Pucka

hmm, fattar inte riktigt vad du pratar om men koden jag gav dig gör att den länk som är aktiv får css-märkningen som du ville ha.

Av Pucka

om jag minns rätt så fungerar inte a:active som det ska i Firefox. Pröva att använda denna:

#menu a:active,#menu a:focus { color:#FFF; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; background-color:#000; }

Av Pucka

haha ja. svaren är i princip identiska förutom jag har lagt in extrakoll på vilken DOM-modell webbläsaren använder.

Av Pucka

jag tog bort det helt felskrivna koden som skulle placera popupen vid muspekaren, men du kan ju pilla med det om du vill ha det.

/* this function shows the pop-up when user moves the mouse over the link */ function Show(id) { var element; if (document.getElementById) element = document.getElementById(id); else if (document.all) element = document.all[id]; else if (document.layers) element = document.layers[id]; if (element) { element.style.display="block"; } } /* this function hides the pop-up when user moves the mouse out of the link */ function Hide(id) { var element; if (document.getElementById) element = document.getElementById(id); else if (document.all) element = document.all[id]; else if (document.layers) element = document.layers[id]; if (element) { /* hide the pop-up */ element.style.display="none"; } }

ansopa så här:

<a href="" onMouseOut="Hide('Popup')" onMouseOver="Show('Popup')">Länk till popup</a> <div id="Popup" style="display:none;">Hejsan - här står info om popup nummer 1</div>

Av Pucka

ta bort citationstecknen i regexp -uttrycket.

Av Pucka

Har för mig att detta funkade på äldre telefonautomater (de med myntinkast) ett tag. Min kusin hade också sån där japanskt miniräknarklocka när vi var små. Den hade även en telefonfunktion som denna så man kunde ringa nummer utan att slå in dem på knappsatsen.

Av Pucka

om det rör sig om att visa bildfiler så funkar detta bra. funkar dock inte om det är html-dokument du viill ska visas i popupen.

var win = null; function NewWindow(url, w, h) { if (win != null && !win.closed){ win.resizeTo(w,h); writeBody(url); win.focus(); } else { win = window.open(url,"photo","width=" + w + ",height=" + h + ",left=0,top=0,scrollbars=yes,resizable=yes"); writeBody(url); } } function writeBody(src) { win.document.open("text/html"); win.document.write("<a href='#' onclick='self.close()'><img src='" + src+ "' border='0' alt='" + src + "' /></a>"); win.document.close(); } //kan anropas i htmlkod tex <a href="Javascript:NewWindow('bild.jpg',120,120);">Min bild</a>

Av Pucka

Well, eftersom du svarade lite väll nonschigt på den förra frågan som jag svarade på (http://forum.sweclockers.com/showthread.php?s=&threadid=58051...) och sedan gjorde som jag föreslog till slut så börjar jag alltid med en grundlig utfrågning

men seriöst, lite mer bakgrund om detta problem skulle va tacksamt om det fortfarande inte är löst. används VS? hur har du koverterat 1.1 > 2.0? etc.
för det låter som nån bugg/miss eftersom det fungerar på ny sida i 2.0?

EDIT:stavfel

Av Pucka

och jag förmodar att du satt AutoPostBack="True" på kontrollen.
Kör du VS?

Av Pucka

använd metoden SubString()

SubString(int startindex, int length)

'hämtar tecken 1-11 i en textbox och sparar i en ny variabel dim newString as string = txtTextBoxNamn.Text.SubString(0,11)

Av Pucka
Citat:

Ursprungligen inskrivet av CyberVillain

edit: jag gjorde så att den enbart bindar vid !IsPostBack och i btnSearch_Click. Funkar kananon

Av Pucka

ja men då är det bara i de metoderna som hanterar dessa postbacks anropa din privata metod som binder data. men kanske missförstått dig helt. ge gärna lite kodexempel så blir det lite lättare.

Av Pucka

Det du ska göra är att i load -even kolla om det är en återpostning av sidan, och om så är fallet så laddar man inte om repeatern. En fin lösning är att skapa en privat metod som laddar data till repeater-kontrollen och sen i load-event kolla Page.IsPostBack.

protected void Page_Load(object sender, EventArgs e){ //om det INTE är en återpostning av sidan vill vi // bind data till repeatern if (!Page.IsPostBack) BindRepeaterData(); } //och så flyttar du all databindning till privat metod private void BindRepeaterData() { //bind data osv }

Av Pucka

ett tips är att använda StringBuffer när du bygger en lång sträng.

URL u = new URL(url); InputStream in = new BufferedInputStream(u.openStream()); InputStreamReader r = new InputStreamReader(in); StringBuffer sb = new StringBuffer(); int c; while ((c = r.read()) != -1) sb.append((char) c); //sen göra något med strängen txtOutput.append(sb.toString());

vet inte om koden runt om gör det så mycket effektivare men att använda StringBuffer ska väll vara en liten prestandaökning.

http://www.javaworld.com/javaworld/jw-03-2000/jw-0324-javaper...

Av Pucka

Förstörande kompression?

Av Pucka

WM Recorder är ett av de bästa program jag testat i denna kategori.

http://www.wmrecorder.com/