Вывод поля Contact Form 7 в Wordpress
<div class="contact-form-field">
<span class="wpcf7-form-control-wrap text-152"><input type="text" name="text-152" value="" size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false"></span>
</div>
Помогите добавить разделитель тысячных в поле "input". Примеры выше не работают. В скриптах "pups" менял на "text-152".
Решил самостоятельно. Возможно кому то пригодится.
1. Добавил script в function.php
function FormatCurrency(ctrl) {
//Check if arrow keys are pressed - we want to allow navigation around textbox using arrow keys
if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) {
return;
}
var val = ctrl.value;
val = val.replace(/ /g, "")
ctrl.value = "";
val += '';
x = val.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ' ' + '$2');
}
ctrl.value = x1 + x2;
}
function CheckNumeric() {
return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 46;
}
<input type="text" onkeypress="return CheckNumeric()" onkeyup="FormatCurrency(this)" />
https://jsfiddle.net/awtszs/rapc69uq/
2. Добавил свой "tag" - "number2" Contact Form 7 в файле .../wp-content/plugins/contact-form-7/modules/text.php
и onkeypress="return CheckNumeric()" onkeyup="FormatCurrency(this)"
Добавлял все строки по аналогии с телефоном ('tel')
и только для "number2" на 55 строке добавил:
if ( in_array( $tag->basetype, array( 'number2' ) ) ) {
$atts['onkeypress'] = $tag->get_size_option( 'return CheckNumeric()' );
$atts['onkeyup'] = $tag->get_size_option( 'FormatCurrency(this)' );
}