如何使用此示例使用javascript向表单标记添加代码?

如何使用此示例使用javascript向表单标记添加代码?,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我正在使用gravity forms wordpress插件,我想将oninput添加到我的表单标签中。。。 我遵循本页上的说明: 但是,它们提供的示例是替换表单标记中的某些内容,而不是向表单标记中添加某些内容。。。。应如何编辑以下代码以将oninput事件添加到标记中,而不是替换标记中的某些内容?我不知道该用什么来代替 add_filter( 'gform_form_tag', 'form_tag', 10, 2 ); function form_tag( $form_tag, $form

我正在使用gravity forms wordpress插件,我想将oninput添加到我的表单标签中。。。 我遵循本页上的说明:

但是,它们提供的示例是替换表单标记中的某些内容,而不是向表单标记中添加某些内容。。。。应如何编辑以下代码以将oninput事件添加到标记中,而不是替换标记中的某些内容?我不知道该用什么来代替

add_filter( 'gform_form_tag', 'form_tag', 10, 2 );
function form_tag( $form_tag, $form ) {
    if ( $form['id'] != 3 ) {
        //not the form whose tag you want to change, return the unchanged tag
        return $form_tag;
    }
    $form_tag = preg_replace( "|action='(.*?)'|", "action='custom_handler.php'", $form_tag );
    return $form_tag;
}

我们这里有一个典型的例子。您正在询问如何更改标记以包含
oninput
属性,但实际上您正在尝试完成其他任务

因此,首先我将直接回答您的问题:

add_filter( 'gform_form_tag', 'form_tag', 10, 2 );
function form_tag( $form_tag, $form ) {
    if ( $form['id'] != 3 ) {
        //not the form whose tag you want to change, return the unchanged tag
        return $form_tag;
    }
    // We know the form has the 'form ' in it, so replace that with 'form' plus the oninput you want
    $form_tag = str_ireplace( "<form ", "<form oninput='myFunction() ", $form_tag );
    return $form_tag;
}

只需更改ID,使其与您想要的目标表单的ID相匹配-如果您的表单是ID 23,则将其设置为
#gform_23
,例如。

我同意Cale的简单答案;但是,在某些情况下,您可能仍然希望将事件属性(任何事件属性)放在事件本身上。这里有一个插件,使它非常简单

用法示例:

new GW_Tag_Editor( array(
    'tag'          => 'form',
    'form_id'      => 123,
    'oninput'      => 'myFunction()'
) );

非常感谢您的详细回复。非常感谢。你的第一个解决方案很完美,但是,我不确定最后一个。。。如何从我的oninput代码开始。。。。我是否会将“//在这里执行您的“oninput”工作”替换为应该位于oninput属性双引号内的代码?因此,我应该添加例如:“amount.value=rangeInput.value”;还是必须以其他内容开头?
new GW_Tag_Editor( array(
    'tag'          => 'form',
    'form_id'      => 123,
    'oninput'      => 'myFunction()'
) );