$ _POST和文本转换没有按预期方式交互

问题描述:

我使用文本转换=大写使表单输入标准,我看到,当我在字段中输入的第一个字母是大写。问题是,当我使用_POST盖被越来越转换为如在此示例中看到的从print_r的小写字母:

阵列([FName_val] =>约翰[LName_val] =>斯蒂芬 [Equipment_Borrowed_val] =>相机[Service_Tag_val] => 233222 [Borrwd_Rsn_val] =>借[Date_Taken_val] => [Exp_Date_Return_val] => [Comments_val] =>)

同样的事情发生与LName_val

HTML是:

First Name:<input type="text" name="FName_val" maxlength="12" size="12" placeholder="*" class="input_style" /><br /><br /> 

Last Name:<input type="text" name="LName_val" maxlength="36" size="12" placeholder="*" class="input_style" /><br /><br /> 

CSS是:

.input_style[type=text], .input_style[type=date] { 
    background: white; 
    border: 2px solid #87CEFA; 
    border-radius: 25px; 
    -moz-box-shadow: inset 0 0 10px #87CEFA; 
    -webkit-box-shadow: inset 0 0 10px #87CEFA; 
    box-shadow:   inset 0 0 10px #87CEFA; 
    background-color:Ivory; 
    padding: 5px 10px; 
    width: 165px; 
    outline: none; 
    text-transform:capitalize; 
} 

这看起来非常简单的,但我不明白。同样的事情发生时,我用本网站上找到的一些JavaScript来做同样的事情。有没有人有这个麻烦?

CSS不修改输入的实际值,你可以使用JavaScript发送数据或之前最好能够利用的价值(因为你不能指望每个人都有支持JS)使用PHP一旦进入到服务器进行修改:

$_POST['FName_val'] = ucfirst($_POST['FName_val']); 
+0

谢谢,但我只是做了一点点PHP: $ FName参数= ucfirst(用strtolower($ FName参数)); $ LName = ucfirst(strtolower($ LName)); (Effpm_Brwd)); 上插入MySQL之后_POST就像koala_dev。无论如何处理像埃迪范哈伦输入? – alan 2014-11-04 01:20:06

+0

@alan你的意思是你想每个单词都大写?为此,有['ucwords()'](http://php.net/manual/en/function.ucwords.php) – 2014-11-04 16:34:46

CSS只会改变外观,而不是真实的数据,您应该使用JS toUpperCase()方法。

检查此琴:

http://fiddle.jshell.net/prollygeek/n7dadt8a/