我创建了一个JavaScript函数,用于检查数据库中是否已存在某些数据。我想知道的是,是否有办法将JavaScript传递中的输入字段名称作为参数
这是我的代码
function checkDataAvailability(displayid,input_id,fieldname)
{
'use strict';
$(document).ready(function(){
//var x = document.getElementByName(fieldname).elements;
$(displayid).load('php/signcheck.php').show();
$(input_id).keyup(function(){
},
$.post('php/signcheck.php', { username: form.x.value },
//$.post('php/signcheck.php', { username: form.fieldName.value },
function(result){
$(displayid).html(result).show();
});
});
});
}
var a = checkDataAvailability ('#userstat','#username_input','username');
一点解释。两个注释行是我尝试将字段名称分别作为参数运行的两种方法。不幸的是他们没有工作。
这是我的表格
<form action="php/register_exec.php" method="POST" name="form">
Username <span id="userstat" class="checkerr"></span>
<input type="text" name="username" id="username_input" required>
</form>
答案 0 :(得分:1)
将表单字段名作为参数传递与将字符串参数传递给函数
没有什么不同var a = checkDataAvailability ('userstat','username_input','username');
重要的是你在函数内部做了什么。
您可以通过两种方式获取输入字段的值
使用value属性直接读取值:
document.getElementById('username_input').value
或
document.getElementById(fieldid).value //if you pass fieldid to your function
直接使用表单字段
//assuming you pass formname and fieldname as variables to your function
var form = document.getElementById(formname);
var inputvalue = form.elements.namedItems(fieldname).value
如果需要,您可以修改它们以适合您的jquery语法。
答案 1 :(得分:0)
由于您已经在使用jQuery库,因此可以继续使用它。
$('input[name="' + fieldname + '"]').val()
答案 2 :(得分:0)
有三种方法可以达到你想要的效果 -