从HTML表单按钮向javascript发送多个参数

时间:2012-01-19 10:10:34

标签: javascript html ajax html-form

好的,我有一个有三个输入框的表单,目前它们是文本,但它们将被更改为密码。当按下提交按钮时,我希望for将表单数据发送到Ajax脚本。

我只使用了一个参数,按钮如下所示:

<input type="submit" name="submit" value="Submit" 
    onClick="return pass(this.form.oldPass.value;">

现在我已经尝试过三次添加'this.form'部分了,因为这个函数会占用多少参数,但它似乎没有做任何事情:

<input type="submit" name="submit" value="Submit" 
    onClick="return pass(this.form.oldPass.value,
                         this.form.newPass.value, 
                         this.form.newPassCheck);">

这是将表单数据传递给脚本的正确方法吗?还有另外一种方法吗?或者我在这里做错了什么?

感谢您的帮助,如果您需要更多代码,我会添加它。

4 个答案:

答案 0 :(得分:3)

试试这个。 (您需要jquery来执行此操作。)

<form>
 old pass <input type="password" id="old_pass" />
 new pass <input type="password" id="new_pass" />
 new pass confirmation <input type="password" id="new_pass_confirm"/>
</form>

在.js文件中,写下:

$(document).ready(function(){
    var old_pass = $('#old_pass').val();
    var new_pass = $('#new_pass').val();
    var new_pass_confirm = $('#new_pass_confirm').val();

    //then call your method with those vars as parameter
    anyMethod(old_pass, new_pass, new_pass_confirm);

});

//this is your function
function anyMethod(old_pass, new_pass, new_pass_confirm)
{
  //put your validation code or ajax call here...
}

答案 1 :(得分:2)

为每个输入框添加 id ,您可以在功能中获得价值,例如:


function pass() {
 var old = document.getElementById("yourOldPassId").value;
 var new = document.getElementById("yourNewPassId").value;
 var newConfirm  = document.getElementById("yourNewConfirmPassId").value;
}

你的意思是什么

答案 2 :(得分:2)

为输入提供一些ID并从那里获取数据。

类似的东西:

<input type bla bla id="whateverId0" />

对于每个输入。

提交应该有类似onclick =“whateverFunction()”

的内容

js应如下所示:

     function whateverFunction()
     {
          val0 = document.getElementById('whateverId0');
          // For all 3 values.

          // Do whatever you want with them.
     }

答案 3 :(得分:1)

我相信你应该在表单中添加一个onSubmit监听器。像jquery这样的js框架很容易使用。这样,您可以在提交表单时创建一个运行函数的侦听器。在该函数中,您可以将数据提取到例如json,然后将其提取到服务器。

info about jquery

jquery ajax

how to extract form data