javascript - 将数组传递给 var 函数

标签 javascript jquery

var reguser = function(btn,url,form_data,op) {
    $(btn).click(function(){
        postLoad(url,form_data,op);
        return false;
    });
}

var postLoad = function(url,form_data,op,fade) {
    $.post(base_url(url),form_data,function(q){$(op).html(q);});
}

var getVal = function(link) {
    return $(link).val();
};

var base_url = function(link) {
    return 'http://localhost/cw/' + link;
}

我这里有三个 var 函数。我觉得很奇怪,当我想传递一个数组变量时,它没有在我的 AJAX 中传递。

这是我执行代码的方式(这已在 $(document).ready(); 中声明)。上面的代码存储在一个单独的文件中。

reguser('#add-acct','ctrl_register/AJAXreguser',{call:1,fname:getVal('#fname')},'#acct-detail');

结果:

Array ( [call] => 1 [fname] => )

表单代码

    <form action="http://localhost/cw/ctrl_register" class="form-vertical" method="post" accept-charset="utf-8">
<label for="fname">First Name</label>
    <input type="text" name="fname" value="" class="span8 input-small"id="fname" placeholder="First Name" />
    <label for="mname">Middle Name</label>
<input type="text" name="mname" value="" class="span8 input-small"id="mname" placeholder="Middle Name" />
<label for="lname">Last Name</label>
<input type="text" name="lname" value="" class="span8 input-small"id="lname" placeholder="Last Name" />
<label for="user">Username</label>
<input type="text" name="user" value="" class="span8 input-small"id="user" placeholder="Username" />
<label for="pass">Password</label>
<input type="password" name="pass" value="" class="span8 input-small"id="pass" placeholder="Password" />
<label for="pass2">Confirm Password</label>
<input type="password" name="pass2" value="" class="span8 input-small"id="pass" placeholder="Confirm Password" />
</br><input type="submit" name="Add-acct" value="Add Account" class="btn btn-primary" id="add-acct" />
</form>

enter image description here

最佳答案

这段代码对我有用: http://jsfiddle.net/flocsy/WC336/1/

问题是,在 reguser 中,你想为你传递的按钮注册 onclick,但在同一个调用中你传递了空的 fname.val(),因为你还没有填写它。

解决方案是从寄存器中删除 onclick 并将其放在 document.ready 中:

var reguser = function(btn,url,form_data,op) {
    console.log(form_data);
//    $(btn).click(function(){
        postLoad(url,form_data,op);
        return false;
//    });
};


$(document).ready(function(){
    $("#add-acct").on("click",function(){
        var fn=getVal('#fname');
        var dat = {'call':1,'fname':fn};
        reguser('#add-acct','ctrl_register/AJAXreguser',dat,'#acct-detail');
        return false;
    });
});
​

关于javascript - 将数组传递给 var 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10683519/

相关文章:

javascript - 在服务器上部署 React App 时 MIME 类型检查失败

javascript - 如何删除谷歌地图控件

javascript - 根据使用的邀请码为新成员分配角色

javascript - 使用 PageY 和 ClientY 鼠标位置的差异结果

javascript - 如何将 VueJS 与 Zurb Panini 一起使用?

javascript - 在 bootstrap 网格中将 div 包裹在大 div 周围

javascript - 更改 css 相同的 ListView

PHP MYSQL 多个下拉菜单选择更改值

javascript - js 将属性添加到 url param 对象

javascript函数只传递一个特定参数