我需要我的gravityforms表单标签中有一个"oninput“。
如下所示:
<form oninput="loanval.value=parseInt(loan.value, 10).toLocaleString('en-US').replace(',', ' ');">我读过关于重力表单钩子的文章,但文档并不多,而且我对编程也不是很有经验。有人知道我是怎么做到这一点的吗?
发布于 2016-04-08 09:07:28
您可以使用gform_form_tag-filter。文档记录在这里:https://www.gravityhelp.com/documentation/article/gform_form_tag/。对于您的示例,它将如下所示:
add_filter( 'gform_form_tag', 'form_tag', 10, 2 );
function form_tag( $form_tag, $form ) {
if ( $form['id'] != 3 ) { //Select the form by ID
return $form_tag;
}
$form_tag = str_ireplace( "<form", "<form oninput=\"loanval.value=parseInt(loan.value, 10).toLocaleString('en-US').replace(',', ' ');\"", $form_tag );
return $form_tag;
}但您也可以使用jQuery在更改时使用Javascript,它更简单,并且实现了与oninput-attribute相同的效果:
jQuery(function($) {
// "gform_1" Target the form by id
$('#gform_1 input, #gform_1 textarea').on('change', function() {
// Do your "oninput" code
}
});更改ID以针对所需的表单。例如,如果您的表单ID为20,则将其更改为#gform_20。
发布于 2016-04-09 23:20:40
如果jQuery可用,并且表单ID是静态的,或者您可以在JS中访问它,我会使用BasC的jQuery方法。
否则,这里有一个超级简单的插件,它允许您将事件属性(任何事件属性)放在标记本身上。
http://gravitywiz.com/gravity-forms-tag-editor/
示例用法:
new GW_Tag_Editor( array(
'tag' => 'form',
'form_id' => 123,
'oninput' => 'loanval.value=parseInt(loan.value, 10).toLocaleString('en-US').replace(',', ' ');'
) );https://stackoverflow.com/questions/36489051
复制相似问题