Tengo un área de texto simple en una forma como esta:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
Sigo obteniendo espacios en blanco adicionales en este área de texto . Cuando lo presiono, mi cursor está como en el medio del área de texto y no al principio. ¿Cuál es la explicación?
value
atributo en lugar de agregar texto dentro de las etiquetas.Bueno, todo entre
<textarea>
y</textarea>
se usa como el valor predeterminado para su cuadro de área de texto. Hay algunos espacios en blanco en su ejemplo allí. Intenta eliminar todo eso.fuente
Abra (y cierre) sus etiquetas PHP justo después y antes de sus
textarea
etiquetas:fuente
En resumen:
<textarea>
debe cerrarse inmediatamente en la misma línea donde comenzó.Práctica general: esto agregará saltos de línea y espacios utilizados para la sangría en el código.
Práctica correcta
fuente
Básicamente debería ser
Si hay algunos espacios predefinidos, digamos debido al formato del código como a continuación
Los espacios mostrados por puntos continúan agregando en cada envío.
fuente
Cualquier espacio entre las etiquetas de apertura y cierre de área de texto se considerará como espacio en blanco. Entonces, para su código anterior, la forma correcta será:
fuente
Otra solución sería usar javascript:
Esto es lo que hice. La eliminación de espacios en blanco y saltos de línea en el código hace que la línea sea demasiado larga.
fuente
Para que se vea un poco más limpio, considere usar el operador ternario:
fuente
Mover ...> hacia abajo me funciona.
fuente
Tengo el mismo problema, y la solución es muy simple: ¡no comience una nueva línea! Aunque algunas de las respuestas anteriores pueden resolver el problema, la idea no se establece claramente. El entendimiento importante es que, para deshacerse de los espacios no intencionados, nunca comience una nueva línea justo después de su etiqueta de inicio.
La siguiente forma es INCORRECTA y dejará muchos espacios no deseados antes de su contenido de texto:
La MANERA CORRECTA de hacerlo es:
fuente
Asegúrese de que no haya ningún salto de línea o espacio después, es para asegurarse de que no haya espacios en blanco o tabulación, solo copie y pegue este código :) Lo arreglé por usted
fuente
Además: la etiqueta textarea muestra espacios para nuevas líneas, pestañas, etc., en código multilínea.
fuente
mantenga el código de área de texto sin espacios en blanco adicionales dentro
Además, si ve líneas en blanco adicionales, hay una solución en el metalenguaje:
imprimirá líneas sin líneas en blanco adicionales, por supuesto, depende de si las líneas que terminan en '\ n', '\ r \ n' o '' - adapte
fuente
El área de texto muestra espacios misteriosos porque existe un espacio real en las etiquetas.
<textarea> <php? echo $var; ?> </textarea>
después de eliminar estos espacios adicionales entre las etiquetas, se resolverá el problema de la siguiente manera.<textarea><php? echo $var; ?></textarea>
fuente
Una solución que me ha funcionado es agregar el estilo
white-space: normal;
al área de texto porque a veces no es factible eliminar todo el espacio en blanco (por ejemplo, cuando desea que su código cumpla con sus pautas de codificación, lo que requiere agregar pestañas, espacios en blanco y saltos de línea)Tenga en cuenta que el valor predeterminado para textarea, al menos en Chrome, es:
white-space: pre-wrap;
fuente
Si todavía le gusta usar sangría, hágalo después de abrir la
<?php
etiqueta, así:fuente
Sé que es tarde, pero puede ayudar a otros.
use esto cuando se requiera sangrado de documento.
la misma pregunta
fuente
Estoy en contra del código HTML mezclado con código PHP.
Sin embargo intente esto:
fuente
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
y?></textarea>
para asegurarse de que sea verdaderamente puro. Además, ¿puedo preguntar por qué estás en contra de HTML con PHP?Simplemente defina su y su etiqueta de cierre en la misma línea.
fuente
Además, cuando dice que el cursor está en el "medio" del área de texto, me hace pensar que también podría tener relleno adicional o alinear texto: centro definido en algún lugar de su CSS.
fuente
Primero, asegúrese de que su $ siteLink_val no devuelva espacios en blanco como valor. El elemento <textarea> por defecto tiene un valor vacío, por lo que si la variable que está haciendo eco por alguna razón tiene espacios, ahí está su problema de inmediato.
Para hacer que el código sea el más limpio, le sugiero que haga algo como esto, permitiendo más flexibilidad más adelante. Hice una función que devuelve un NULL si la variable no está presente (a lo que parece apuntar en la publicación original) y el valor absoluto de lo contrario. Una vez que se haya asegurado del contenido de su variable, intente esto:
Y el siguiente código en su área de texto ahora se leería:
Esto supone que su instalación de PHP está configurada para llamadas variables cortas, como se ve en las etiquetas abreviadas "<? =?>". Si no puede generar esta salida, recuerde introducir el código PHP con "<? Php" y cerrar con "?>".
Evite los saltos de línea entre <textarea> porque puede crear el potencial de caracteres erróneos.
Además, verifique su CSS para asegurarse de que no haya una regla de relleno que empuje el texto hacia adentro.
Además, puede especificar un valor de columnas y filas en el área de texto y luego diseñar un ancho y alto. Estas reglas son contraproducentes y generarán imágenes inconsistentes. Siga definiendo el tamaño a través del estilo (recomiendo darle una clase al elemento) o las filas / columnas.
fuente