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

时间:2014-05-29 19:24:01

标签: javascript javascript-objects

所以我正在制作一个简单的应用程序,使用YQL语句从Yahoo获取股票摘要信息以返回JSON。到目前为止,我没有很多代码,因为我只是试图建立我将要使用的对象的基本结构和功能。现在,我只希望用户在输入中输入股票代码,单击提交,并从公司对象创建一个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按钮上的click事件创建新对象。但这不应该有所作为,不是吗?我是否有某种范围问题?我也尝试使用window[symbol] = Object.create(Company);,但这也不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

问题一直与Javascript无关,而与HTML有关。无论出于何种原因,输入和按钮嵌套在标签内部都是搞砸了。我所做的就是删除标签集。现在它可以工作了,我将完成我的JS并回过头来担心以后正确地形成HTML表单。感谢那些阅读此内容的人。