<script>
function fnOk() {
var info = document.form1.a.value;
var rader = info.split("\n");
if (rader.length == 10) {
alert('hej');
return false;
}
}
</script>
Jag vill splittra på radbrytning. Om det är 11 rader så...
14 svar · 409 visningar · startad av asp
<script>
function fnOk() {
var info = document.form1.a.value;
var rader = info.split("\n");
if (rader.length == 10) {
alert('hej');
return false;
}
}
</script>
Jag vill splittra på radbrytning. Om det är 11 rader så...
Trixat lite med hittat script. Funkar dock ej med enterslag. Borde inte vara så svårt att fixa.
<html>
<head>
<script type="text/javascript">
<!--
var total;
function showRowNum(o){
rader=1;
total = o.innerHTML.length;
while(total>o.cols*rader){
rader++;
}
if(rader==10)
alert('Hey!');
};
//-->
</script>
</head>
<body>
<form name="f">
<textarea rows="15" cols="40" onkeyup="showRowNum(this);" onkeydown="showRowNum(this);"></textarea>
</form>
</body>
</html>
Denna kanske är av intresse?
http://www.webforum.nu/showthread.php?s=&postid=832095#post832095
Hmm.. det scriptet förstod jag inte.. Någon som skulle kunna hjälpa mig med detta script?
Jag vill att textarean innehåller 11 rader. Jag vill att varje rad stämmer överns med detta:
1. Bokstav(Endast en)
2. Bokstav(en eller flera)
3. Sifrra(en eller flera)
4. Siffra (en eller flera)
5. Siffra (en eller flera)
6. Siffra(en eller flera)
7. Siffra (en eller flera)
8. Siffra (en eller flera)
9. Siffra(0-10)
10. Siffra(0-10)
11. Siffra(0-10)
12. Siffra(0-10)
13. Siffra(0-10)
14. Siffra(0-10)
15. Siffra(0-10)
16. Siffra(0-10)
17. Siffra(0-10)
18. Siffra(0-10)
19. Siffra(0-10)
20. Siffra(0-10)
21. Siffra(0-10)
Exempel på rad som fungerar:
M Tuste 8 4263407 54835 21 193 96 6 0 4 4 4 4 0 5 8 6 4 3 6
Låter svårt.
Varför inte elva vanliga fextfält?
Liten fråga: varför vill du göra så där? *nyfiken*
Det är ett spel, som heter ManagerZone. Där har man en spelare som har vissa färdigheter. Jag vill med mitt program räkna ut ett värde som spelaren har, eller rättare sagt startelvan.
<script type="text/javascript">
function f(obj) {
var re = /^[a-zA-ZåäöÅÄÖ]{1}\s[a-zA-ZåäöÅÄÖ]+\s(\d+\s){6}((\d{1}|10)\s){12}(\d{1}|10)$/,
rows = obj.elements['t'].value.split('\n'),
iLen = rows.length;
while (iLen-->0)
if (!re.test(rows[iLen]) && typeof alert("Bad!") == "undefined") return false;
return true;
}
</script>
<form onsubmit="return f(this)">
<textarea name="t" cols="65" rows="5"></textarea>
<input type="submit">
</form>
:)
Det fungerar inte?
Det skall gå om man klistrar in detta, men det gör det inte:
M Adelsköld 13 260207 5778 20 182 82 0 0 1 2 0 3 0 0 1 1 1 1 0
H Svanér 14 1020815 16325 24 179 82 3 1 1 1 1 3 0 4 4 0 0 6 0
N Ahlfors 15 322132 5252 23 184 85 0 3 1 2 2 1 0 1 0 2 0 3 0
S Helberg 16 1795810 24209 23 179 80 2 2 2 4 2 3 2 2 6 0 1 7 5
J Målare 17 420335 10771 22 179 83 0 1 4 1 3 1 0 2 0 2 2 4 0
R Åkerberg 18 257705 7497 22 167 64 1 2 2 2 1 1 0 0 1 3 2 2 0
E Bivall 19 442228 11031 26 175 82 0 1 2 2 0 5 2 0 2 1 1 7 0
S Johnsson 20 1593774 37454 25 196 95 6 6 6 2 4 5 2 2 1 1 2 6 6
J Mattsson 21 490392 11847 26 172 68 2 4 1 3 3 4 0 1 1 1 0 6 0
J Kaxe 23 455363 9689 23 173 81 1 2 5 2 1 0 0 1 3 1 2 4 0
O Vase 24 297112 10200 25 162 60 2 1 0 1 0 2 0 0 3 4 0 4 0
Nu då:
<script type="text/javascript">
function f(obj) {
var re = /^[\x41-\x5a\xc0-\xfe]{1}\s[\x41-\x5a\xc0-\xfe]+\s(\d+\s){6}((\d{1}|10)\s){12}(\d{1}|10)\s*$/i,
rows = obj.elements['t'].value.split('\n'),
iLen = rows.length;
while (iLen-->0)
if (!re.test(rows[iLen]) && typeof alert("Bad!") == "undefined") return false;
return true;
}
</script>
<form onsubmit="return f(this)">
<textarea name="t" cols="65" rows="5"></textarea>
<input type="submit">
</form>
:)
Peter
Var
if (!re.test(rows[iLen]) && typeof alert("Bad!") == "undefined") return false;
bara ett alternativ till
if (!re.test(rows[iLen])){ alert("Bad"); return false; }
eller finns det någon vits med att kolla om alert är av typen "undefined"? För alert() returnerar väl aldrig något?
Det är bara ett alternativ; för läsbarhetens skull kanske ett sämre sådant. Det är upp till betraktaren ;)
Anledningen till att jag valde att lägga uttrycket i ett booleskt sammanhang är att jag kan! I en konjunkt association (AND) evalueras den andra operanden endast i de fall den första bedömts som sann. Så genom att använda typeof och den binära likhetsoperatorn "==" formar jag ett booleskt uttryck som endast utvärderas då en rad i <textarea>:n inte stämmer överens med regexp:et, vilket åstadkommer önskat resultat (precis som ditt förslag).
:)
Detta fungerar:
/^[a-zA-ZåäöÅÄÖ]{1}\s[a-zA-ZåäöÅÄÖ]+\s(\d+\s){6}((\d|10)\s){13}\s$/
Men om jag vill att de två sista mellanslaget kan finnas där eller inte... de behöver liksom inte vara där, men de får...
sedan så fungerar inte é, û och alla dem... måste jag lägga till alla, det blir rätt många...