I using Gravity Forms on my site but in gravity forms field, Arabic or Persian field is not work. Also I have modified a code to change English number to Arabic or Persian but it does not working.Please help me guys.
Any help is appreciated.
My code so far:
function _sn_convert_persian_and_arabic_numbers_to_english_numbers__input_number_gravity_form($_sn_html_input_type){
if(!function_exists("_sn_cpaanten__ingf__add_to_footer")){
function _sn_cpaanten__ingf__add_to_footer(){
?>
<script type="text/javascript" language="JavaScript">
var sn_persian_numbers = new Array(/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g),//Persian Number
sn_arabic_numbers = new Array(/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g);//Arabic Number
function sn_convert_persian_and_arabic_numbers_to_english_numbers(sn_string){
if(typeof sn_string === "string"){
for(var sn_cpaanten_for_a=0; sn_cpaanten_for_a<10; sn_cpaanten_for_a++){
sn_string = sn_string.replace(sn_persian_numbers[sn_cpaanten_for_a], sn_cpaanten_for_a).replace(sn_arabic_numbers[sn_cpaanten_for_a], sn_cpaanten_for_a);
}
}
return sn_string;
};
var sn_gform_inputs_number = document.querySelectorAll(".ginput_container.ginput_container_number input");
for(var sn_gform_inputs_number_for_a=0; sn_gform_inputs_number_for_a < sn_gform_inputs_number.length; sn_gform_inputs_number_for_a++){
function sn_gform_change_value_input_number(){
this.value = sn_convert_persian_and_arabic_numbers_to_english_numbers( this.value );
}
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("input",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keyup",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keydown",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keypress",sn_gform_change_value_input_number);
}
</script>
<?php
}
return $_sn_html_input_type;
}
add_filter("gform_include_thousands_sep_pre_format_number","_sn_convert_persian_and_arabic_numbers_to_english_numbers__input_number_gravity_form");
>Solution :
Generally your code almost complete but there is s little problem on it. So, I have revisited the code nearly completely and managed to fix your issues. The revisited code is:
/* change English Number to Arabic or Persian */
function _sn_convert_persian_and_arabic_numbers_to_english_numbers__input_number_gravity_form($_sn_html_input_type){
if(!function_exists("_sn_cpaanten__ingf__add_to_footer")){
function _sn_cpaanten__ingf__add_to_footer(){
?>
<script type="text/javascript" language="JavaScript">
var sn_persian_numbers = new Array(/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g),//Persian Number
sn_arabic_numbers = new Array(/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g);//Arabic Number
function sn_convert_persian_and_arabic_numbers_to_english_numbers(sn_string){
if(typeof sn_string === "string"){
for(var sn_cpaanten_for_a=0; sn_cpaanten_for_a<10; sn_cpaanten_for_a++){
sn_string = sn_string.replace(sn_persian_numbers[sn_cpaanten_for_a], sn_cpaanten_for_a).replace(sn_arabic_numbers[sn_cpaanten_for_a], sn_cpaanten_for_a);
}
}
return sn_string;
};
var sn_gform_inputs_number = document.querySelectorAll(".ginput_container.ginput_container_number input");
for(var sn_gform_inputs_number_for_a=0; sn_gform_inputs_number_for_a < sn_gform_inputs_number.length; sn_gform_inputs_number_for_a++){
function sn_gform_change_value_input_number(){
this.value = sn_convert_persian_and_arabic_numbers_to_english_numbers( this.value );
}
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("input",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("change",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keyup",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keydown",sn_gform_change_value_input_number);
sn_gform_inputs_number[sn_gform_inputs_number_for_a].addEventListener("keypress",sn_gform_change_value_input_number);
}
</script>
<?php
}
add_action("wp_footer","_sn_cpaanten__ingf__add_to_footer");
}
return $_sn_html_input_type;
}
add_filter("gform_include_thousands_sep_pre_format_number","_sn_convert_persian_and_arabic_numbers_to_english_numbers__input_number_gravity_form");
Code goes in function.php file of your active child theme (active theme). tested and works.