URL: https://www.overclockers.at/coding-stuff/asp_net_html_width_problem_59581/page_1 - zur Vollversion wechseln!
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.
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-
Naja ... eher mit js die Auflösung auslesen und dann die Länge in Pixel bestimmen ... sonst sind ja nicht alle Zeichen drinnen ...
probier mal:
Code:clip:rect(0px 130px 130px 0px) //natürlich mit andern werten wobei: oben rechts unten links
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-
Zitat von Dreysoweit 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
Also ich hab das so aufgefasst dass alle angezeigt werden sollten ...
naja ... er wirds schon erläutern was er will !! 
Edit : Args ... niedergeOwned
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-
hmm, ja - hast recht, wie wärs, wenn du per js im nachhinein den wert reinschreibst?Zitat von Yeahmanclip nützt mir gar nichts das ich nichtmal irgentwie eine fixe Grösse angeben kann.
Zitat von Dreyfinde 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-
Zitat von watchouthmm, ja - hast recht, wie wärs, wenn du per js im nachhinein den wert reinschreibst?
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-
mach ein multiline, dass 1 zeile hoch is...
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>
ich denke nicht, dass das problem darin liegt das in javascript hinzukriegen...
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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026