使用JQuery/Javascript在保存在线表单之前对其进行预处理
Using JQuery/Javascript to pre-process online forms before saving them
在提交和存储数据库之前,我需要一些帮助来预处理在线表单输入。这个表单实际上是在Joomla 3.1中的ChronoForms组件的帮助下完成的。表单是使用HTML制作的,处理是使用JQuery/JavaScript使用'OnLoad'事件中的'Load JS'动作完成的(对于那些熟悉ChronoForms的人来说)。
简化形式如下:
<form name="online_form" id="online_form">
<select name="period_year" id="period_year">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="period_month" id="period_month">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="hidden" name="period" id="period"/>
<input type="submit" id="submit_form"/>
</form>
我想做的是当用户提交表单时,period_year和period_month的值被组合成一个文本字符串"x年和y个月",并作为period的值。数据库最终将只存储period,而不是period_year和period_month。
我尝试使用事件监听器提交的形式,但它似乎没有工作:
window.addEvent('domready', function() {
$('online_form').addEventListener('submit',
function() {
var period_year = $('period_year').value;
var period_month = $('period_month').value;
$('period').value=period_year+' year and '+period_month+' months';
}
);
}
另一种选择是在select元素上使用onchange属性,如下所示,但它似乎对我也不起作用:
....
<select name="period_year" id="period_year" onchange="process()">...</select>
<select name="period_month" id="period_month" onchange="process()">...</select>
....
头部:
function process() {
$('period').value=period_year+' year and '+period_month+' months';
};
我做错了什么?还是有其他正确的方法?
需要#
选择id为
$('#online_form').submit(function() {
//-^---here
$('#period').val(period_year+' year and '+period_month+' months');
//-^---here
)};
您需要使用#
为ID选择器(" # ID ")也改变value
为val()
。value用于DOM
对象,选择器将返回jQuery
对象。如果你想使用值,那么使用[0]
索引器将jQuery对象转换为DOM对象。
$('#online_form').addEventListener('submit',
function() {
$('#period').val(period_year+' year and '+period_month+' months');
//$('period')[0].value=period_year+' year and '+period_month+' months';
}
);
相关文章:
- Javascript无法处理表单提交
- 用于处理表单的Handlerbars模板
- jQuery无法在InfoWindow中处理表单
- 正在尝试预览表单输入jQuery
- php会话不会;单击“提交”按钮时无法处理表单
- 获取动态行数据值以使用 JavaScript 预填充表单
- 使用 JS 和 JQuery 处理表单输入
- HTML 预填写表单并执行过滤器
- 使用 javascript 处理表单并在弹出窗口中使用它
- 如何从我的 MySQL 数据库中提取数据以在页面加载时预填充表单
- 使用 jQuery 处理表单
- 调用 Javascript 函数处理表单后,HTML 表单未打印到浏览器
- 基于表单输入值,如何 2 生成选择 4 下拉菜单 w 数据库中的行/记录数据,该数据库将在选择时预填充表单
- 如何为下拉菜单生成选择,其中包含数据库中的行/记录数据,该数据库将在选择时预填充表单
- 处理表单时显示图像时出错
- 使用第二个按钮处理表单数据PHP_SELF将表单数据发布到另一个页面
- 使用 d3 而不是 jQuery 来处理表单输入会导致重新加载“/”
- 用Javascript处理表单提交事件,避免“;Form Processed”;
- jQuery屏蔽输入插件无法处理表单输入
- 用javascript异步预处理表单数据