好的,我有一个有三个输入框的表单,目前它们是文本,但它们将被更改为密码。当按下提交按钮时,我希望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);">
这是将表单数据传递给脚本的正确方法吗?还有另外一种方法吗?或者我在这里做错了什么?
感谢您的帮助,如果您需要更多代码,我会添加它。
答案 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,然后将其提取到服务器。