Перевести текстовое поле ввода без нажатия клавиши Shift - PullRequest
0 голосов
/ 24 октября 2019

У меня есть два поля ввода здесь

<input type="text" class="form-control formRow--input js-input" name="product_name" id="product_name" placeholder="Product Name (ENG)" required>
<input type="text"  class="form-control formRow--input js-input" id="product_name_mal" name="product_name_mal" placeholder="Product Name (MAL)" >

Когда я набираю название продукта на английском языке в первом поле ввода и нажимаю клавишу Shift, оно переводится в малаялам во втором поле ввода.

Это мой код:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">
google.load("elements", "1", {packages: "transliteration"});
</script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script>
function OnLoad() {                
    var options = {
        sourceLanguage:
        google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage:
        [google.elements.transliteration.LanguageCode.MALAYALAM],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
    };

    var control = new google.elements.transliteration.TransliterationControl(options);
    control.makeTransliteratable(["product_name_mal"]);
    var keyVal = 32; // Space key
    $("#product_name").on('keydown', function(event) {
        if(event.keyCode === 32) {
            var engText = $("#product_name").val() + " ";
            var engTextArray = engText.split(" ");
            $("#product_name_mal").val($("#product_name_mal").val() + engTextArray[engTextArray.length-2]);

            document.getElementById("product_name_mal").focus();
            $("#product_name_mal").trigger ( {
                type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
            } );
        }
    });

    $("#product_name_mal").bind ("keyup",  function (event) {
        setTimeout(function(){ $("#product_name").val($("#product_name").val() + " "); document.getElementById("product_name").focus()},0);
    });
} 

google.setOnLoadCallback(OnLoad);
</script>

Я хочу, чтобы второе поле ввода было преобразовано в малаялам без нажатия клавиши Shift. Я не очень в JS. Может кто-нибудь, пожалуйста, помогите мне сделать это?

...