Я работаю над расширением, которое автоматически заполняет форму на странице информации о доставке Ali Express.
Мне удалось заполнить данные во всех полях, кроме поля города. Существует поле провинции, которое зависит от раскрывающегося списка страны и поля города, если в поле провинции есть раскрывающийся список, и при выборе пользователем провинции, в которой есть доступные города, появляется раскрывающийся список для городов. Для города появляется другой мудрый ввод, такой же, как и для города.
Теперь проблема в том, что если город и провинция введены одновременно, тогда присваивается значение провинции, но не городу, и если я не заполняю значение в провинции, используя js, тогда оно отлично работает для города.
Я попытался отправить события, добавить скрипт в теле и использовать другое событие, но ничего не получилось.
Примечание. Есть два скрытых поля с одинаковыми идентификаторами, такими как провинция и город.
if (key == "first_name") {
$("#contactPerson").focus();
document.execCommand("insertText", false,
ae_billing_details[key] + ae_billing_details["last_name"]);
}
if (key == "phone") {
$("#mobileNo").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
}
if (key == "address_1") {
$("#address").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
}
if (key == "address_2") {
$("#address2").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
}
if (key == "state") {
if ($(".addr-select").has("#province")) {
$("#province").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
}
}
if (key == "postcode") {
$("#zip").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
// var evt = document.createEvent("Events");
// evt.initEvent("keypress", true, true);
// evt.view = window;
// evt.altKey = false;
// evt.ctrlKey = false;
// evt.shiftKey = false;
// evt.metaKey = false;
// evt.keyCode = 0;
// evt.charCode = "a";
// .dispatchEvent(evt);
}
if (key == "city") {
if ($(".addr-select").has("#city")) {
$("#city").focus();
document.execCommand("insertText", false, ae_billing_details[key]);
$("body").append(
"<script>document.getElementById('city').value = 'My value';</script>"
);
//$( "#city" ).text("gggg");
//$("#city").attr("value","ok");
//var element = document.getElementById("#city" );
// element.parentNode.removeChild(element);
// var value = $("#city").val();
// $("#city").focus().val("").val(value);
//$("#city").val("Mush");
}
}