wordpress电话javascript验证并将字段值替换为已清除的数字

时间:2018-11-22 08:46:11

标签: wordpress contact-form-7

我的目标是联系表格7,电话号码:

第1步:最少10位数字

第2步:删除空格

第3步:仅当国家/地区总数超过10时,才能删除国家/地区代码+91、091、0091

步骤4:如果清除的号码有误,请显示无效的号码

第5步:在tel输入字段中,用用户输入的号码替换最终的空号

我可以为第1步到第4步编写代码,但对于第5步,我不确定在wordpress中用哪个函数或参数替换文本字段?

即使我遇到$ result-> invalidate($ tag,“请输入一个有效数字。”);但无法替换文本字段

对于下面的功能使用步骤1到步骤4,并令$ result = false;如果清理数字后格式错误

function custom_filter_wpcf7_is_tel( $result, $tel ) {
    $accepted = array("7", "8", "9");

    -- codes here  $result = true;  OR  $result = false; --

    return $result;
}
add_filter( 'wpcf7_is_tel', 'custom_filter_wpcf7_is_tel', 10, 2 );

对于第5步,我正在尝试执行此操作,但是未能实现第5步。

add_action( 'wp_footer', 'mycustom_wp_footer' );

function mycustom_wp_footer() 
{
?>

<script type="text/javascript">
document.addEventListener( 'wpcf7submit', function( event ) {
    var inputs = event.detail.inputs;

    for ( var i = 0; i < inputs.length; i++ ) {
        if ( 'your-tel' == inputs[i].name ) {
            alert( inputs[i].value );

            -- tried many experiments here --

            break;
        }
    }
}, false );
</script>
}

例如:

  1. +919192345678在文本字段9192345678中显示

  2. +91 91923 45678在文本字段9192345678中显示

  3. +9191923456780显示错误消息bcaz清除的数字是11位数字

示例:

enter image description here

0 个答案:

没有答案