Javascript 如何用表单提交上的数据属性替换值?JQuery

Javascript 如何用表单提交上的数据属性替换值?JQuery,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我已输入文本字段,在表单上显示员工姓名。该字段还具有员工ID的data staff属性。在数据库中,我希望存储员工ID而不是员工姓名。我使用jQueryAjax提交表单。当我在调试工具中检查参数时,我只看到每个字段的预期值。我想知道是否可以用数据属性替换staff输入字段的值?或者是否有更好的方法来处理这种情况?以下是我的例子: HTML: 如果有人知道这个案件更好的技术,请让我知道。谢谢。在序列化表单之前,您可以使用$('frm_staff').val()和方法重置输入的值 您的代码如下所示:

我已输入文本字段,在表单上显示员工姓名。该字段还具有员工ID的data staff属性。在数据库中,我希望存储员工ID而不是员工姓名。我使用jQueryAjax提交表单。当我在调试工具中检查参数时,我只看到每个字段的预期值。我想知道是否可以用数据属性替换staff输入字段的值?或者是否有更好的方法来处理这种情况?以下是我的例子:

HTML:


如果有人知道这个案件更好的技术,请让我知道。谢谢。

在序列化表单之前,您可以使用
$('frm_staff').val()
和方法重置输入的

您的代码如下所示:

$('#frm_staff').val($('#frm_staff').data('staff'));
formData = $('#'+frmID).serialize();

为什么不使用员工id作为值的隐藏输入,而只将姓名显示为文本?似乎用户可以尝试编辑名称…若您覆盖itI,那个么这将是无用的。在表单中添加另一个字段似乎有点混乱,但到目前为止,我还看不到更好的方法。但这不是“另一个字段”…它只是使用字段,您必须执行您想要的操作,而不必操纵它如果我使用此方法,则在提交表单之前,名称值将替换为ID…我假设您在表单提交事件中调用此代码,是吗?@espresso_coffee如果这不是预期的,那么问题和目标就不清楚了……你们试图解决的更高层次的问题也不清楚。我在提交表格时称之为瘦。但是我的formData变量是在ajax调用之前设置的。我不明白什么是不清楚的。让我知道,必要时我会解释。非常感谢。
formData = $('#'+frmID).serialize();

$.ajax({
    type: 'POST',
    url: 'Components/myFunction.cfc?method='+frmID,
    data: formData,
    dataType: 'json'
}).done(function(obj){
    if(obj.STATUS === 200){
        return true;
    }else{
        return false;
    }
}).fail(function(jqXHR, textStatus, errorThrown){
    alert(errorThrown);
});
$('#frm_staff').val($('#frm_staff').data('staff'));
formData = $('#'+frmID).serialize();