如何在jQuery中使用函数设置值元素输入

时间:2018-09-19 10:28:06

标签: javascript jquery html

我是jquery和数据表中的新手, 我在使用功能为来自另一页面的元素输入设置值时遇到问题。

这是我的第一页代码

{
                data: "action_user",
                targets: "action_user",
                mRender: function (data_app, type_app, row_app) {
                    if (row_app["id_user"] !== null) {
                        var va_id_user = row_app["id_user"];
                        var va_user_name = row_app["user_name"];
                        var va_gender = row_app["gender"];
                        var va_address = row_app["address"];
                        var va_imei = row_app["imei"];                        
                        var va_phone = row_app["phone"];
                        var va_role_name = row_app["role_name"];
                        var va_email = row_app["email"]; //,supplier_name,supplier_code,address,contact_name,contact_num,status_supp
                        var va_status_user = row_app["status_user"]; // <a href='#'id='updateDataUser' onclick='javascript:myFunc(" + supplier_id + ")'><i class='fa fa-edit'title='Edit'></i></a>\n\

                        var data_users = {
                            id_user: va_id_user,
                            user_name: va_user_name,
                            gender: va_gender,
                            imei: va_imei,
                            phone:va_phone,
                            address:va_address,
                            role_name: va_role_name,
                            email: va_email,
                            status_user: va_status_user
                        };
                        return"<a id='updateDataUser' href='#' onclick='javascript:editUserFunc(" + JSON.stringify(data_users) + ")'><i class='fa fa-edit activeRecord' rel='13' title='Edit'></i></a>";
//                      return "<a href='" + data_pict_1 + " 'target='_blank' class='btn btn-info'>" + "<font color='#f2f2f2' size='2em'>" + "Display" + "</font>" + "</a>";
                    }
                }
            }

这是我的html代码

<div id="div_add_pic" class="panel panel-default">
  <form id="form_add_pic" name="form_add_pic" method="POST" action="">
    <div id="form_add_user_response" class="resp"></div>
    <div class="box-body">
      <div class="form-group">
        <label for="username" class="req">User Name &nbsp;:</label>
    <input type="text" name="userName" id="userName" placeholder="User Name" class="form-control  uppercase" />

      </div>
    </div>
  </form>
</div>

此函数用于设置输入值元素。

function editUserFunc(data_users) {
var userName = data_users.user_name;
alert(userName);
$("#userName").val(userName);}

我的功能更改为

    function editUserFunc(data_users) {
        var userName = data_users.user_name;
         alert(userName);
        var oForm = document.getElementById("form_add_pic");
        var set_userName = oForm.userName;

 window.location.href = "index.jsp?url=user_layout&   pages=add_user_form"
    }

但是我有错误

validation.js:1422 Uncaught TypeError: Cannot read property 'userName' of null
at editUserFunc (validation.js:1422)
at HTMLAnchorElement.onclick (index.jsp?url=user_layout&pages=list_users:1)

我的console.log打印屏幕 console userName

如何在另一页上调用元素表单

我已经尝试了很多次,但是都没有成功。请帮忙!

2 个答案:

答案 0 :(得分:0)

我认为,您必须将所有这些功能移入

$(document).ready(function(){

//Replace with your code

})

因为您的脚本可能位于html标记的顶部,并且在运行这些脚本时未加载这些html输入。

答案 1 :(得分:0)

最后,我使用此code来获取网址栏上的参数

function getUrlQueryString(param) {
var outObj = {};
var qs = window.location.search;
 if (qs != "") {
  qs = decodeURIComponent(qs.replace(/\?/, ""));
  var paramsArray = qs.split("&");
  var length = paramsArray.length;
  for (var i=0; i<length; ++i) {
     var nameValArray = paramsArray[i].split("=");
     nameValArray[0] = nameValArray[0].toLowerCase();
     if (outObj[nameValArray[0]]) {
        outObj[nameValArray[0]] = outObj[nameValArray[0]] + ";" + nameValArray[1];
        }
     else {
        if (nameValArray.length > 1) {
           outObj[nameValArray[0]] = nameValArray[1];
           }
        else {
           outObj[nameValArray[0]] = true;
           }
        }
     }
  }
 var retVal = param ? outObj[param.toLowerCase()] : qs;
 return retVal ? retVal : ""
}