ASP.NET/HTML Width Problem
Yeahman 19.12.2002 - 14:22 1889 16
Yeahman
OC Addicted
|
Folgendes Problem bei unterem HTML Code: Ich habe das Problem das ich in ASP.NET eine 100% Textbox mit einem sehr langen Text initialisiere, was man an dem Bsp. unten sieht, ist das die 100% gesprengt werden. Kann man das verhindern?
<html> <head> </head> <body> <table style="width:100%"> <tr> <td style="width:100%"> <input type="text" style="width:100%" value="kdflasöldjkföalkjdflökasjdflkasjdfölkjasdlökfjaslökjdlöfkasjdöflkjaslödfjkalöskdjflökasjdölfjkaslödkfjöalsdjkfaklösdfjkaöslkdjföalsjkdflökasjflökjasöldfjköalsjkdfölasjkf" /> </td> </tr> </table> </body> </html>
/EDIT: overflow:hidden funktioniert zwar hier, aber wenn ichs in ASP.NET setzt ist es dem IE egal.
Bearbeitet von Yeahman am 19.12.2002, 14:37
|
Drey
disconnected
|
s prob beim ie is, dass er bei width:100% die länge von dem textfeldes anhand der reinzutippselnden zeichen berechnet ... einzige abhilfe wäre es die weite des textfeldes mittels ner spezifizierten 'Size' oder 'MaxLength' festzulegen ... ... maybe kann ma die maxlength aus der bildschirmauflösung (javascript) berechnen lassen btw: im mozilla funktionierts ohne probs -drey-
|
Vivo
Dreamworker
|
Naja ... eher mit js die Auflösung auslesen und dann die Länge in Pixel bestimmen ... sonst sind ja nicht alle Zeichen drinnen ...
|
watchout
Legendundead
|
probier mal: clip:rect(0px 130px 130px 0px) //natürlich mit andern werten
wobei: oben rechts unten links
|
Drey
disconnected
|
soweit ich s mitbekommen habe, gehts ja darum, dass die textbox mit nem für die textbox zu langem text initialisiert wird und das ziel ist es, dass die textbox nicht größer als das window werden sollte um scrollleisten oder wwi zu vermeiden ... sprich dass von der html-betrachtungsweise die ganzn zeichn drinstehen, aber am monitor nur die zeichenkette so weit sichtbar ist, bis das textfeld aus ist mozilla kann das wie (wahrscheinlich) gewünscht ohne probs anzeigen, aber der ie zickt rum ... ich werd noch weiterermitteln ob s da was passendes gibt -drey-
|
Yeahman
OC Addicted
|
soweit ich s mitbekommen habe, gehts ja darum, dass die textbox mit nem für die textbox zu langem text initialisiert wird und das ziel ist es, dass die textbox nicht größer als das window werden sollte um scrollleisten oder wwi zu vermeiden ... sprich dass von der html-betrachtungsweise die ganzn zeichn drinstehen, aber am monitor nur die zeichenkette so weit sichtbar ist, bis das textfeld aus ist richtig, und obwohl im Stylesheet, oder wo auch immer overflow:hidden steht, ist ihm das egal. clip nützt mir gar nichts das ich nichtmal irgentwie eine fixe Grösse angeben kann.
|
Vivo
Dreamworker
|
Also ich hab das so aufgefasst dass alle angezeigt werden sollten ... naja ... er wirds schon erläutern was er will !! Edit : Args ... niedergeOwned
|
Drey
disconnected
|
finde nicht wirklich etwas, was n ie dazu veranlassen würde, die textbox nicht zu sprengen
ne mögliche alternative zur textbox wäre n mehrzeiliges texteingabefeld
-drey-
|
watchout
Legendundead
|
clip nützt mir gar nichts das ich nichtmal irgentwie eine fixe Grösse angeben kann. hmm, ja - hast recht, wie wärs, wenn du per js im nachhinein den wert reinschreibst? edit: oder mach ganz einfach ein textFELD, wenn das eh so ein langer text is...
|
Yeahman
OC Addicted
|
finde nicht wirklich etwas, was n ie dazu veranlassen würde, die textbox nicht zu sprengen
ne mögliche alternative zur textbox wäre n mehrzeiliges texteingabefeld
-drey- wenn ich in ASP.NET die Textbox mit Multiline erstelle passiert das gleiche, ausserdem kann ich das nicht machen, weils die Optik nicht zu lässt. hmm, ja - hast recht, wie wärs, wenn du per js im nachhinein den wert reinschreibst? das könnte ich noch als allerletzen Ausweg probieren
|
Drey
disconnected
|
hab jetzt von 1800 bis 2030 eh ne univorlesung (und das in den ferien, ich bin entsetzt ) und wenn s wlan in dem kleinen kämmerchen noch funktioniert, werd ich weiternachforschen bezüglich multiline: habs mir wegen der optik fast gedacht, aber ich wollts zur sicherheit nicht unerwähnt lassen -drey-
|
watchout
Legendundead
|
mach ein multiline, dass 1 zeile hoch is...
|
atrox
in fairy dust... I trust!
|
this works in IE50 & Ns6/Mozilla:
<html> <head> <script> function formResizer() { r=document.getElementById("resizeref"); t=document.getElementById("toresize"); t.style.width=100; // rücksetzen damit form wieder 100% annehmen kann. t.style.width=r.offsetWidth-5; } </script> </head> <body onLoad="formResizer()" onResize="formResizer()"> <table style="width:100%"> <tr> <td style="width:100%" id=resizeref> <input type="text" id=toresize value=" kdflasöldjkföalkjdflökasjdflkasjdfölkjasdlökfjaslö kjdlöfkasjdöflkjaslödfjkalöskdjflökasjdölfjkaslödk fjöalsdjkfaklösdfjkaöslkdjföalsjkdflökasjflökjasöl dfjköalsjkdfölasjkf" /> </td> </tr> </table> </body> </html>
|
watchout
Legendundead
|
ich denke nicht, dass das problem darin liegt das in javascript hinzukriegen...
|
atrox
in fairy dust... I trust!
|
tja, aber was willst du gegen einen browser-bug tun ?
sowohl <td> als auch <input> breiten-angaben sind "gummi-werte" - und IE paßt fälschlicherweise das TD dem input an, und nicht umgekehrt.
|