У меня есть два поля ввода здесь
<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. Может кто-нибудь, пожалуйста, помогите мне сделать это?