如何在不更改输入内容的情况下更改输入值

时间:2015-03-16 15:34:00

标签: javascript jquery forms

我正在更新我们创建的自定义表单类的验证过程,以便通过在表单输入上使用掩码来使用户友好。

由于文件上传,我们必须通过HTTP请求保存表单。

在某些情况下我们可以使用AJAX来保存FORM,在这些情况下我创建了一个根据它的验证类型修改内容的方法,如:

01/02/1234更改为1234-02-01 123.456,78更改为123456.78

问题是当我通过HTTP请求发送它时。

示例表单:

<form id="formID" action="UrlToCRUDClass" onsubmit="return validateForm(this);">
    <input id="datefield" type="text" value="" data-valid="DATE">
</form>

我想知道如何更改通过POST发送的值,而不更改最终用户可见的输入值。

| 08/04/1992 | &lt; =用户输入值(在输入容器内可见) | 1992-04-08 | &lt; =后期值(对用户输入不可见)

我尝试过改变但没有成功:

$('#datefield').attr('value','unmaskedvalue'); //-- Post Value is 08/04/1992
$('#datefield').val('unmaskedvalue'); //-- Changes the visible content for the end-user
$('#datefield').prop('value','unmaskedvalue').attr('value','maskedvalue'); //-- Changes the visible content for the end-user

还有其他方法没有重定向,在发送之前格式化输入并且不改变输入容器内的值吗?

1 个答案:

答案 0 :(得分:0)

似乎我正在寻找错误的问题,(我们已经有一个PHP端验证)我发送Ajax表单的唯一问题是输入类型=文件,通过Ajax发送文件解决了这个问题

由于以下原因,我能够完成我的Ajax上传: https://stackoverflow.com/questions/2320069/jquery-ajax-file-upload#=