17. november 2003 - 13:18
Der er
9 kommentarer og 1 løsning
Knap erstatter sig selv
Jeg har et script der aktiveres ved tryk på knap/button. Scriptet indsætter et inputfelt på siden når man forlader feltet igen skal den nævnte knap erstattes af en anden knap med andre attributter. MEN scriptet kommer med en kørselsfejl (ikke syntaksfejl) Knap 1 = onclick vis input felt X input x = onblur erstat knap 1 med knap 2 Er der en anden løsning hvor man et element kan erstatte sig selv ?
Annonceindlæg fra Barco
17. november 2003 - 13:21
#1
?-) Prøv lige at vise den kode, du har !-)
17. november 2003 - 14:34
#2
Her er scriptet: function createInput (idName, type) { blah = document.getElementById(idName); newInnerHTML = ''; newInnerHTML += '<input type="text" id="500" onBlur="createInput('100', 'button')">' blah.innerHTML = newInnerHTML; } Og html'en <input type="text" id="500"> <input type="button" id="100" onclick="createInput('500', 'text')">
17. november 2003 - 14:39
#3
Du kan ikke have en identifier, du bruger i javascript, som starter med et tal, så lav dine id'er om til f.eks. id100 og id500 ...
17. november 2003 - 14:44
#4
Glem ovenstående - det var dette script: <html> <head></head> <body> <script> function createInput (idName, newFields) { blah = document.getElementById(idName); newInnerHTML = ''; for (i=0;i<newFields.length;i++) { newInnerHTML += '<input type="' + newFields[i][2] + '" name="' + newFields[i][0] + '" value = "' + newFields[i][1] + '" onclick="createInput(\'100\', new Array(new Array(\'100\', \'GEM\', \'button\')))" >' } blah.innerHTML = newInnerHTML; } </script> <table> <tr> <td id="500"></td> </tr> </table> <input type="button" value="Skift" name="kanp1" id="100" onclick="createInput('500', new Array(new Array('500', 'Nummer', 'text')))"> </body> </html>
17. november 2003 - 14:48
#5
Det er muligt men det ændre ikke ved problemstillingen..... Har prøvet at ændre id'erne
17. november 2003 - 14:50
#6
Javascript smider en fejl med "Der opstod en ukendt kørselsfejl" i linie 15 tegn 3, dvs. i linien: blah.innerHTML = newInnerHTML;
17. november 2003 - 14:53
#7
Det er fordi en input ikke kan have noget innerHTML, du må sætte en f.eks. en span omkring: <html> <head></head> <body> <script> function createInput (idName, newFields) { blah = document.getElementById(idName); newInnerHTML = ''; for (i=0;i<newFields.length;i++) { newInnerHTML += '<input type="' + newFields[i][2] + '" name="' + newFields[i][0] + '" value = "' + newFields[i][1] + '" onclick="createInput(\'i100\', new Array(new Array(\'i100\', \'GEM\', \'button\')))" >' } blah.innerHTML = newInnerHTML; } </script> <table> <tr> <td id="i500"></td> </tr> </table> <span id="i100"><input type="button" value="Skift" name="kanp1" onclick="createInput('i500', new Array(new Array('i500', 'Nummer', 'text')))"></span> </body> </html>
17. november 2003 - 15:09
#8
Til roenving: Du har lige reddet min dag - Tusind tak. Smid et svar så får du point.
17. november 2003 - 15:16
#9
Velbekomme '-)
17. november 2003 - 15:38
#10
-- og tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling