在提交时捕获对象中的表单数据

时间:2014-01-07 16:28:30

标签: javascript object

我有问题。我对面向对象的javascript没有多少经验。 我希望我的表单能够向我创建的对象提交第一和第二名称等详细信息

这是我的目标:

      function Person(fname,sname){
        this.fname=fname;
        this.sname=sname;   

        this.confirm = function(){
            alert('Thank you '+this.fname +'<br>'+ this.sname + ' Your email has been recieved');
        }

    function submit(){
        person1= new Person(document.getElementById('fname').value, document.getElementById('sname').value);
person1.confirm();
    }

和我的表格:

<input type="text" id="fname" value="First Name"/></br>
<input type="text" id="sname" value="Surname"/></br>
<input type="text" value="Email Address"/></br>
<input type="Submit" value="Submit" onSubmit="submit()"/>

如果有人可以帮助我开展这项工作,我将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

你需要new作为构造函数,所以我想你会想要这样的东西

var person=new Person("John","Doe");
person.confirm();

但是,如果您不想使用new,则可以执行此操作

function Person(fname,sname){
    var wrapper={
                 fname:fname,
                 sname=sname,
                confirm:function(){
                     alert('Thanks you '+this.fname +'<br>'+ this.sname + ' Your email has been recieved');
                }
    return wrapper

}

答案 1 :(得分:0)

要从表单中的数据创建事件处理程序中对象的实例,请使用如下语法:

<input type="Submit" value="Submit" onSubmit="var p = new Person(document.getElementById('fname').value, document.getElementById('sname').value);"/>

一旦你创建了对象,你自然不得不用它来做任何事情,例如调用p.confirm();


编辑:

根据您的编辑将代码放入函数中:

function submit() {
  var p = new Person(document.getElementById('fname').value, document.getElementById('sname').value);
  p.confirm();
}

答案 2 :(得分:0)

  1. 如果要调用构造函数,则需要new关键字
  2. 如果要在其上运行方法,则需要明确调用它。
  3. 如果要从表单中获取数据,则必须访问表示表单控件的DOM对象并阅读其value proeprties
  4. e.g。

    var person = new Person(
                            document.getElementById('fname').value,
                            document.getElementById('sname').value
                           );
    person.confirm();