Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在输入元素上使用文本转换实际上会转换文本吗?_Php_Css_Forms - Fatal编程技术网

Php 在输入元素上使用文本转换实际上会转换文本吗?

Php 在输入元素上使用文本转换实际上会转换文本吗?,php,css,forms,Php,Css,Forms,考虑到文本转换是一个CSS属性,我不理解当表单提交时,输入字段中文本转换设置为大写的文本是如何将大写文本发送到页面的。CSS不应该只是修改页面的外观而不是内容本身吗?如果我在表单中键入小写字母,它是否应该以小写字母提交,并在表单字段中以大写字母显示 我使用PHP来处理post变量,我在文本转换设置为大写的情况下键入的任何文本实际上都是大写的。我修改了一个小写的值,字符串“This is a test.”例如。。。如果我删除测试并在输入字段中重新键入并提交它,然后打印提交的值,它将打印“这是一个测

考虑到文本转换是一个CSS属性,我不理解当表单提交时,输入字段中文本转换设置为大写的文本是如何将大写文本发送到页面的。CSS不应该只是修改页面的外观而不是内容本身吗?如果我在表单中键入小写字母,它是否应该以小写字母提交,并在表单字段中以大写字母显示


我使用PHP来处理post变量,我在文本转换设置为大写的情况下键入的任何文本实际上都是大写的。我修改了一个小写的值,字符串“This is a test.”例如。。。如果我删除测试并在输入字段中重新键入并提交它,然后打印提交的值,它将打印“这是一个测试”,重新键入的文本为大写,所有原始文本的大小写与之前相同。这仅仅是一个小故障行为还是什么?

好吧,如果所有主要的浏览器都确实转换了字段内容,那么您关心的只是哲学上的问题。有人可能会争辩说,对于输入字段(与
元素相反),屏幕上用户输入文本的外观可能与实际提交的文本不同,这将是非常不友好和令人困惑的

现在编辑测试浏览器

  • Windows上的Chrome 4以可视方式应用样式,但提交的文本不会更改
  • Windows上的Firefox 3.6以可视方式应用该样式,但提交的文本不会更改
  • IE8以可视方式应用样式,但提交的文本不会更改
因此,我开始想知道是什么让您认为发布的字段内容是由CSS规则转换的。

测试代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<style type="text/css"><!--
textarea, input{
    text-transform: uppercase;
}
--></style>
</head>
<body>

<?

if( !empty($_POST) ){
    echo '<pre>' . htmlspecialchars(print_r($_POST, TRUE)) . '</pre>';
}

?>


<form action="" method="post">
    <textarea name="textarea" rows="3" cols="40">Default</textarea>
    <input name="text" value="Default">
    <input type="submit">
</form>

</body>
</html>

违约
有趣的发现:

  • Opera 10忽略文本区域中的
    文本转换:大写
  • Chrome4发送一个获取POST表单的请求
  • 我测试过的浏览器(Windows XP)中没有一款具有您描述的行为:Firefox 3.6、IE 6、IE7、IE8、Opera 10

我想你很有可能正在使用JavaScript…

这很有趣。以前从未尝试过。你在多个浏览器上试过这个吗?可能是特定于浏览器的。我在重新创建场景时也遇到了问题。我确实记得必须手动修改一组文件,这些文件是使用输入或文本区域字段编辑的,这些字段的文本转换设置为大写,其中一些甚至没有被我编辑。也许我只是在某个地方有一个脚本干扰了它,现在已经不存在了。。。