2013-05-10 16 views
1

我使用Ajax方式处理我的数据 所以我有很多表单,并且我使用jquery检查了表单值,所以我“M确定与值类型和所有验证工作人员的..现在 我想知道如何让我的所有值“我说的是25输入,, 并将其发送到PHP页面在javascript中获取所有表单值并将值发送回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="[email protected]" /></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> 

这是我的一种形式.. 这是javascript函数

function add_emps_to_db(){ 
nocashe = Math.random(); 
http.open('get','huemix_custom.php?section=emps&action=add_new_emps_to_db&" I Wanna Data Here"&nocache = '+nocache); 
http.onreadystatechange = HuemixinsertReplay; 
http.send(null); 

}

我用这种方式,但它不是灵活了很多形式的工作

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种类型,输入类型文本,密码和无线电

感谢名单的方式

+0

,如果你使用jQuery你可以做'$(“#myForm会”)连载( );' – Kenneth 2013-05-10 12:48:33

+0

不,它是唯一的Javascript页面, ,当我在同一页面使用jquery 所有我的其他功能停止工作 所以我正在寻找JavaScript解决方案 – 2013-05-10 12:52:13

回答

0

我使用此代码将表单值读入到一个dic tionary:

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,但也有其它实施方式在那里。该函数只是返回所有DOMNode的列表,它们是form的子项。您也可以在他们使用则firstChild/nextChild或一些其它的访问方法重复

+0

var elems = form.elements; 请参阅:https://developer.mozilla.org/en-US/docs/DOM/Form.elements – pawel 2013-05-10 13:19:26

+0

谢谢..我真的不理解你,但我会尝试你的解决方案兄弟 – 2013-05-10 21:50:56

-2

您可以使用jQuery

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

和通通过AJAX中的“数据”的数据

+0

在OP的评论中说,他不能使用jQuery – 2013-05-10 12:59:36

+0

没有用! – 2013-05-24 18:37:16

-2

您可以使用这样的事情:

var url = "huemix_custom.php?section=emps&action=add_new_emps_to_db&"; 

$("#YourFormId").find("[name]").each(function (index, item) { 
    var $item = $(item); 
    if ($item.is("[type=radio]")) { 
     url += $item.attr("name") + "=" + ($item.is(':checked') ? 1 : 0) + "&"; 
    } 
    else url += $item.attr("name") + "=" + encodeURI($item.val()) + "&"; 
}); 

url += "nocache = '+nocache"; 
+0

yooo人我说过javascript不jQuery! – 2013-05-10 21:50:15

+0

@Ahmed Rhuma,jquery是javascript,但没关系,下次把你的问题放在你的问题中,你想要一个非jQuery的解决方案,因为它没有在你的问题中指定。 – 2013-06-03 11:10:26

相关问题