Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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
在JavaScript中大写首字母_Javascript - Fatal编程技术网

在JavaScript中大写首字母

在JavaScript中大写首字母,javascript,Javascript,我这里有个问题。我刚开始学习Yii2,我需要大写我的报名表的首字母(姓名和姓氏)。我正在用JS做这件事,但不知何故,我的代码不起作用,也没有打印任何结果。有人能帮我解决这个问题,告诉我我做错了什么吗 这是我的密码: function entryForm(name, surname) { this.name = $(name); this.surname = $(surname); var self = this; /* * Capitalizes first letter of users e

我这里有个问题。我刚开始学习
Yii2
,我需要大写我的报名表的
首字母(姓名和姓氏)。我正在用JS做这件事,但不知何故,我的代码不起作用,也没有打印任何结果。有人能帮我解决这个问题,告诉我我做错了什么吗

这是我的密码:

function entryForm(name, surname) {
this.name = $(name);
this.surname = $(surname);
var self = this;

/*
* Capitalizes first letter of users entered name and surname
*
* @param string input
*/
this.capitalizeName = function(input) {
var name = input.val();
name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) {
    return letter.toUpperCase();
})
input.val(name);
}
var entryForm = new entryForm('#employee-name', '#employee-surname');

$(document).ready(function() {
/*
* Executes named function
*/
    $('#employee-name, #employee-surname').change(function() {
        entryForm.capitalizeName($(this));
     })
 })
}

我做了一些调整,我想我会让它工作:

首先,将js命名为“class”,以大写字母开头。此变量声明
var entryForm=new entryForm(
隐藏具有相同名称的“类”的先前声明

其次,我将
$(document).ready
函数放在类之外

function EntryForm(name, surname) {
    this.name = $(name);
    this.surname = $(surname);
    var self = this;

    /*
    * Capitalizes first letter of users entered name and surname
    *
    * @param string input
    */
    this.capitalizeName = function(input) {
        var name = input.val();
        name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) {
            return letter.toUpperCase();
        })
        input.val(name);
    }   
}

$(document).ready(function() {
/*
* Executes named function
*/
    $('#employee-name, #employee-surname').change(function() {
        var entryForm = new EntryForm('#employee-name', '#employee-surname');
        entryForm.capitalizeName($(this));
     })

 })

我做了一些调整,我想我会让它工作:

首先,以大写字母命名js'class'。此变量声明
var entryForm=new entryForm(
隐藏了具有相同名称的'class'的先前声明

其次,我将
$(document).ready
函数放在类之外

function EntryForm(name, surname) {
    this.name = $(name);
    this.surname = $(surname);
    var self = this;

    /*
    * Capitalizes first letter of users entered name and surname
    *
    * @param string input
    */
    this.capitalizeName = function(input) {
        var name = input.val();
        name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) {
            return letter.toUpperCase();
        })
        input.val(name);
    }   
}

$(document).ready(function() {
/*
* Executes named function
*/
    $('#employee-name, #employee-surname').change(function() {
        var entryForm = new EntryForm('#employee-name', '#employee-surname');
        entryForm.capitalizeName($(this));
     })

 })

您可以使用以下解决方案:是否需要显示“大写”文本,或者不需要显示(以这种方式存储在数据库中就足够了)?@gmc我需要用大写字母自动显示输入的名称。是的,我可以通过添加规则对模型执行此操作,但不是自动替换,而是在单击“创建”后替换字母 button@Bizley不知何故,我的代码必须工作,因为当我在没有Yii的情况下执行相同的任务时,它已经工作了,只需使用OOP,您就可以使用解决方案。您需要显示“大写”文本还是不需要它(以这种方式将其存储在DB中就足够了)?@gmc我需要用大写字母自动显示输入的名称。是的,我可以通过添加规则对模型执行此操作,但不是自动替换,而是在单击“创建”后替换字母button@Bizley不知何故,我的代码必须工作,因为当我在没有Yii的情况下完成相同的任务时,它已经工作了,只是通过使用OOP