我需要我的gravityforms表格标签,其中包含“oninput”。
像这样:
<form oninput="loanval.value=parseInt(loan.value, 10).toLocaleString('en-US').replace(',', ' ');">
我读过重力形式的钩子,但实际上没有很多文档,我对编码不是很有经验。有谁知道我怎么能做到这一点?
答案 0 :(得分:0)
您可以使用depend
- 过滤器。这里记录了https://www.gravityhelp.com/documentation/article/gform_form_tag/。对于您的示例,它看起来像这样:
gform_form_tag
但是您也可以使用jQuery在更改时执行Javascript,这更简单并且与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;
}
- 属性具有相同的效果:
oninput
更改ID以定位所需的表单。例如,如果您的表单的ID为20,则将其更改为jQuery(function($) {
// "gform_1" Target the form by id
$('#gform_1 input, #gform_1 textarea').on('change', function() {
// Do your "oninput" code
}
});
。
答案 1 :(得分:0)
如果jQuery可用且表单ID是静态的,或者您可以在JS中访问它,我会使用BasC的jQuery方法。
否则,这是一个超级简单的插件,允许您将事件属性(任何事件属性)放在&lt; form&gt;上。标记本身。
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(',', ' ');'
) );