尝试从HTML输入中获取字符串并使用它来创建新对象

Trying to get string from HTML input and use it to create new object

本文关键字:创建 新对象 对象 串并 HTML 输入 字符串 字符 获取      更新时间:2023-09-26

因此,我正在制作一个简单的应用程序,使用YQL语句从雅虎获取股票摘要信息以返回JSON。到目前为止,我没有很多代码,因为我只是试图建立我将要使用的对象的基本结构和功能。现在,我只希望用户在输入中输入一个股票代码,单击提交,并从Company对象创建一个JavaScript对象,该对象命名为股票代码。HTML中有一个文本输入框和一个提交按钮,还有两个JavaScript函数

这是HTML

的相关部分
<body>
    <form name=formCompanyAdd id='formCompanyAdd'>     
        <input id='inputCompanyAdd' type='text' autofocus/>
        <button id='buttonCompanyAdd' type="submit" onClick="AddCompany();">Add Equity</button>
    </form>
</body>

javascript:

//constructor for prototype object
function Company(symbol){
        this.symbol = symbol;
        };
//function to add new object        
function AddCompany(){
        var symbol = $('#inputCompanyAdd').val();
        console.log(symbol);      //successfully logs correct symbol on the console
        window[symbol] = new Company(symbol);  //but this doesn't happen
        };

我过去曾使用window[string] = new Object;成功创建新对象。但它在这里不起作用,我不知所措。唯一认为我在这里做的不同于我在过去所做的是绑定函数来创建一个新的对象到一个html按钮上的点击事件。但这不应该有什么区别,不是吗?我的范围有问题吗?我也试过使用window[symbol] = Object.create(Company);,但这也不起作用。有什么建议吗?

这个问题一直与Javascript无关,而与HTML有关。不管出于什么原因,将输入和按钮嵌套在标签中会把它搞砸。我所做的只是删除了标签集。现在它可以工作了,我将完成我的JS,然后回去,稍后再考虑如何正确地形成HTML表单。