获取javascript中的所有表单值,并将这些值发送回php页面

获取javascript中的所有表单值,并将这些值发送回php页面,javascript,Javascript,我正在使用Ajax方式来处理我的数据 所以我有很多表单,我使用jquery检查了表单的值,所以我对值类型和所有验证人员都很满意。。 现在我想知道如何获取我所有的值“我说的是25个输入,, 并将其发送到php页面 例如: <input type="text" name="emp_user_name" id="emp_user_name" PLACEHOLDER="User Name" /></li> <li><input type="passwor

我正在使用Ajax方式来处理我的数据 所以我有很多表单,我使用jquery检查了表单的值,所以我对值类型和所有验证人员都很满意。。 现在我想知道如何获取我所有的值“我说的是25个输入,, 并将其发送到php页面

例如:

<input type="text" name="emp_user_name" id="emp_user_name" PLACEHOLDER="User Name" /></li>
    <li><input type="password" name="pass" id="pass" /></li>
    <li><input type="password" name="pass2" id="pass2" /></li>
    <li><input type="text" name="emp_group" id="emp_gorup" PLACEHOLDER="Group" /></li>
    <li><input type="text" name="emp_ar_name" id="emp_ar_name" PLACEHOLDER="Employee Name" /></li>
    <li><input type="text" id="emp_en_name" style="direction:ltr!important;" id="emp_en_name" PLACEHOLDER="Full name" style="direction:ltr ;" /></li>
    <li><input type="text" id="emp_address" name="emp_address" PLACEHOLDER="Address" /></li>
    <li><input type="text" name="emp_num1" style="direction:ltr!important;" id="emp_num1" PLACEHOLDER="091" /></li>
    <li><input type="text" name="emp_num2" style="direction:ltr!important;" id="emp_num2" PLACEHOLDER="092" /></li>
    <li><input type="text" name="emp_email" style="direction:ltr!important;" id="emp_email" PLACEHOLDER="support@huemix.ly" /></li>
    <li style="padding: 39px;">Male : <input type="radio" name="emp_sex" id="emp_sex" PLACEHOLDER="male" />
        Female : <input type="radio" name="emp_sex" id="emp_sex2" PLACEHOLDER="female" />     
    </li>
    <li><input type="text" name="emp_bday" id="emp_bday" PLACEHOLDER="17/02/2011" /></li>
    <li><input type="submit" name="save" onclick="add_emps_to_db()" id="save" value="" /></li>
}

我用的是这种方式,但它不是一种灵活的方式来处理很多表单

var first_name= encodeURI(document.getElementById('first_name').value);
var middle_name= encodeURI(document.getElementById('middle_name').value);
var last_name= encodeURI(document.getElementById('last_name').value);
var phone_num1= encodeURI(document.getElementById('phone_num1').value);
var phone_num2= encodeURI(document.getElementById('phone_num2').value);
var work_type= encodeURI(document.getElementById('work_type').value);
var work_place= encodeURI(document.getElementById('work_place').value);
var from= encodeURI(document.getElementById('from').value);
var worktype1 = $("#worktype1").is(':checked')?1:0;
var worktype2 = $("#worktype2").is(':checked')?1:0;
var worktype3 = $("#worktype3").is(':checked')?1:0;
var site_name= encodeURI(document.getElementById('site_name').value);
var start_date= encodeURI(document.getElementById('start_date').value);
var end_date= encodeURI(document.getElementById('end_date').value);
var site_url= encodeURI(document.getElementById('site_url').value);
var script_type= encodeURI(document.getElementById('script_type').value);
var last_mod= encodeURI(document.getElementById('last_mod').value);
var cpanel_url= encodeURI(document.getElementById('cpanel_url').value);
var cpanel_user= encodeURI(document.getElementById('cpanel_user').value);
var cpanel_pass= encodeURI(document.getElementById('cpanel_pass').value);
var adminpanel_url= encodeURI(document.getElementById('adminpanel_url').value);
var adminpanel_user= encodeURI(document.getElementById('adminpanel_user').value);
var adminpanel_pass= encodeURI(document.getElementById('adminpanel_pass').value);
var other_url= encodeURI(document.getElementById('other_url').value);
var other_user= encodeURI(document.getElementById('other_user').value);
var other_pass= encodeURI(document.getElementById('other_pass').value);
var ftp_url= encodeURI(document.getElementById('ftp_url').value);
var ftp_user= encodeURI(document.getElementById('ftp_user').value);
var ftp_pass= encodeURI(document.getElementById('ftp_pass').value);
var support= $("#support").is(':checked')?1:0;
var support_end_date= encodeURI(document.getElementById('support_end_date').value);
var id= $(this).closest("td").find("#huemix_id").value;
var notes = encodeURI(document.getElementById('notes').value);
例如,我想要foreach循环..或者任何添加 输入字段Id+输入字段值,, 并将所有这些添加到我的自动链接中

例如: 我希望我的链接是这样的

huemix_custom.php?section=emps&action=add_new_emps_to_db&id_for_virst_input=value_for_first_input&id_for_second_input=value_for_second_input... and goes on this way&nocache = '+nocache
注:如你所见,我有3种类型,输入类型文本,密码和收音机

顺便说一下,您可以使用JQuery

var values = $("form").serialize();

并通过AJAX中的“data”传递数据

我使用以下代码将表单值读入字典:

function getFormValues(form) {
  var res = {};
  var elems = getElementsByTagAndClassName(null, null, form);

  for (var i = elems.length - 1; i >= 0; i--) {
    var elm = elems[i];

    var nodeName = elm.nodeName.toLowerCase();
    var type = elm.type;
    if (!type) type = "";
    type = type.toLowerCase();

    if ((nodeName == "input" || nodeName == "select") && elm.name) {
      var checked = true;
      if (type == "checkbox" || type == "radio") {
        checked = elm.checked;
      }
      if (checked) {
        res[elm.name] = elm.value;
      }
    }
  }

  return res;
}

函数getElementsByTagAndClassName来自mochikit,但还有其他实现。该函数只返回表单子级的所有DOMNodes的列表。您还可以使用firstChild/nextChild或其他一些访问方法对其进行迭代

如果使用jQuery,您可以执行
$(“#myForm”)。serialize();
不,这只是一个Javascript页面,当我在同一页面中使用jquery时,所有其他函数都停止工作,因此我正在寻找Javascript解决方案。OP在评论中说他不能使用jQueryvar elems=form.elements;请看:谢谢..我真的不太理解你,但我会尝试你的解决方案,兄弟
function getFormValues(form) {
  var res = {};
  var elems = getElementsByTagAndClassName(null, null, form);

  for (var i = elems.length - 1; i >= 0; i--) {
    var elm = elems[i];

    var nodeName = elm.nodeName.toLowerCase();
    var type = elm.type;
    if (!type) type = "";
    type = type.toLowerCase();

    if ((nodeName == "input" || nodeName == "select") && elm.name) {
      var checked = true;
      if (type == "checkbox" || type == "radio") {
        checked = elm.checked;
      }
      if (checked) {
        res[elm.name] = elm.value;
      }
    }
  }

  return res;
}