Hej <b>if(!this.form.elements["namn"].onblur.value.match(text));</b> tack för tipset :D tack, nu får jag fram felmeddelandet iaf. Problemet är nu att felmeddelande kommer fram även om rätt namn skrivs in. problemet är att å,ä,ö inte kommer i den ordning du tänker dej varesej i latin-1 eller utf-8 tack, nu vart det bättre :Dproblem med validering
jag har ett formulär med följande kod:
<code>
<form id="formularet" name="form" method="post" action="">
Namn: <input name="namn" type="text" />
Ort: <input name="ort" type="text" />
<input id="skicka" name="skicka" type="submit" value="Skicka" />
</form>
</code>
När användaren har fyllt i sitt namn och hoppar ner till ort så vill jag att namn rutan ska valideras så att det inte finns något annat än bokstäver där.
har följande javaskript:
<code>
var Formularet = {
form:null,
init: function()
{
this.form = document.getElementById("formularet");
var text = /^[a-zA-Zå-öÅ-Ö]$/;
if(!this.form.elements["namn"].onblur.value.match(text));
{
alert("fel");
}
}
}
window.onload = Formularet.init;
</code>
Detta vill inte fungera. Hur löser jag det så att textrutan valideras när man har fyllt i den och lämnat den??
Tacksam för all hjälp jag kan fåSv: problem med validering
Har du överhuvudtaget något hum om vad du gör där?
Pröva detta (har inte prövat själv):
init: function()
{
this.form = document.getElementById("formularet");
var text = /^[a-zA-Zå-öÅ-Ö]$/;
this.form.namn.onblur = function () {
if(!this.value.match(text));
{
alert("fel");
}
}
}
Sv:problem med validering
men min var text = /^[a-zA-Zå-öÅ-Ö]$/; fungerar nog inte som den ska.
hittade istället denna:
<code>
function kollabokstaver (str)
{
var index;
str = str.toLowerCase ();
for (index = 0; index < str.length; ++index)
{
if ('abcdefghijklmnopqrstuvwxyzåäö'.indexOf
{
(str.substring (index, index + 1)) == -1)
return false;
}
return true;
}
},
</code>
så har nu följande kod:
<code>
var Formularet = {
form:null,
init: function()
{
this.form = document.getElementById("formularet");
document.getElementById("skicka").className='hide';
//document.getElementById("skicka").createElement('Skicka Uppgifter');
//var linkButton = document.createElement("a");
//linkButton.onclick = sendForm;
//this.form.appendChild(linkButton);
if(document.getElementById("fnamn").onBlur)
{
var fornamnVarde = document.getElementById("fnamn").value;
var fornamn = Formularet.kollabokstaver(fornamnVarde);
if (fornamn == false)
{
alert("fel");
}
}
},
kollabokstaver: function (str)
{
var index;
str = str.toLowerCase ();
for (index = 0; index < str.length; ++index)
{
if ('abcdefghijklmnopqrstuvwxyzåäö'.indexOf)
{
((str.substring (index, index + 1)) == -1);
return false;
}
return true;
}
},
kollasiffror: function (str)
{
var index;
for (index = 0; index < str.length; ++index)
{
if ('0123456789'.indexOf (str.substring))
{
((index, index + 1) == -1);
return false;
}
return true;
}
},
}
window.onload = Formularet.init;
</code>
men den fungerar inte. Som enligt koden så ska rutan fel visas om man matar in en siffra i namn rutan, men det gör den inte. Får heller inget felmeddelande.:SSv: problem med validering
var text = /^[a-zA-Zå-öÅ-Ö]$/;
Den där funkar ju ifall du vill ha ett och endast ett tecken
sätt
var text = /^[a-zA-Zå-öÅ-Ö]+$/;
istället så bordet det funka bättre.. (eller byt ut plusset mot stjärna ifall en tom sträng ska godkännas)
Sv:problem med validering
Känns som om det vore fel på var text = /^[a-zA-Zå-öÅ-Ö]+$/; ????Sv: problem med validering
http://www.tony-franks.co.uk/UTF-8.htm samt http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html
Ett enkelt sätt att komma runt det är ju att explicit lista åäö (det är ju inte precis så att det blir mera kod för det)
var text = /^[a-zA-ZåäöÅÄÖ]+$/;
Sv:problem med validering
har ett annat fel nu :(
<code>
document.body.className="mork";
document.getElementsByName("input").disabled = true;
document.getElementsByTagName("select").disabled = true;
</code>
dessa vill inte fungera, får inget felmeddelande eller not, det händer inget bara.
Hur löser jag detta?? :S