我有一个用户可以复制的表单,因此他们可以一次提交多个表单。这工作正常。但是,我注意到用户没有以正确的方式使用它。例如,我要求姓名首字母,人们填写他们的名字。PHP 检查所有字段并在必要时自动更正它们,但这会将 John 变成 JOHN
无论如何,一个好方法是自动更正字段。这适用于初始表单,但在重复的表单上会出错。尤其是首字母的行为很奇怪。我对 jQuery 和 Javascript 的了解非常有限,所以在困惑了几个星期后,我仍然不知道如何解决它。欢迎提出建议。
小提琴:http: //jsfiddle.net/QUxyy/15/
JS
// Lowercase
$(".lowercase").keyup(function(e)
{
$(".lowercase").val(($(".lowercase").val()).toLowerCase());
if (/[a-z]/g.test(this.value))
{
this.value = this.value.replace(/[^a-z ]/g, '');
}
});
// Initials
$(".initials").focus(function() {
var current = $(".initials").val();
$(".initials").keyup(function(e) {
var key = String.fromCharCode(e.keyCode);
if (key >= 'A' && key <= 'Z') {
current += key + ".";
this.value = current;
}
else {
current = "";
}
});
$(".initials").blur(function() {
var i = $(".initials").val();
var last = i[i.length - 1];
if (last != "." && i.length !== 0){
this.value += ".";
}
});
});
// Capitalize
$(".cap").keyup(function(e)
{
function convertToUpper() {
return arguments[0].toUpperCase();
}
val = this.value.toLowerCase().replace(/\b[a-z]/g, convertToUpper);
this.value = val;
});