I have a script and i was running it over a website through tempermankey. The script is basically inserting a datalist in an input field and changing the other input value based on datalist selected value.
code:
(function() {
$("bdi:contains('Truck No')").closest('div').next().find('input').attr({
maxlength: "10",
Autocomplete: "OFF",
list: "KASHIPUR",
Placeholder: "TRUCK NUMBER",
autocapitalize:"ON"
}).after('<Datalist ID=KASHIPUR></Datalist>');
$("bdi:contains('Truck No')").closest('div').next().find('input').blur(function(){
var val=$("bdi:contains('Truck No')").closest('div').next().find('input').val();
var obj=$("#KASHIPUR").find("option[value='"+val+"']");
if(obj !=null && obj.length>0||($("bdi:contains('Vehical
Type')").closest('div').next().find('input').val()==""))
return false;
else
alert("Pls Ask Depot to add the Vehicle Number");
$("bdi:contains('Truck No')").closest('div').next().find('input').focusin();})
const options = [
["HR74A8784","9760027187"],
["UK18CA6626","7906594792"],
["UK18CA6821","7987481793"]
];
jQuery( function($) {
const HTMLOptions = options.reduce((html, item) => {
html += `<option value="${item[0]}"lebel="${item[1]}"></option>`;
return html;
}, "");
$("#KASHIPUR")
.append(HTMLOptions)
$(document).ready(function() {
$("bdi:contains('Truck No')").closest('div').next().find('input').click(function()
{
var value = $("bdi:contains('Truck No')").closest('div').next().find('input').val();
($('#KASHIPUR [value="' + value + '"]').data('value'));
});
});
$(document).on('change', $("bdi:contains('Truck No')").closest('div').next().find('input'), function () {
$("bdi:contains('Driver Mobile No')").closest('div').next().find('input').val
($("#KASHIPUR option[value='" + $("bdi:contains('Truck No')").closest('div').next().find('input').val() + "']").attr("lebel"));
});
});
At the first time when page loads the URL is 'https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-Detail/6527164082'
At this time the error come in the below code:-
$("bdi:contains('Truck No')").closest('div').next().find('input').blur(function(){
var val=$("bdi:contains('Truck No')").closest('div').next().find('input').val();
var obj=$("#KASHIPUR").find("option[value='"+val+"']");
if(obj !=null && obj.length>0||($("bdi:contains('Vehical
Type')").closest('div').next().find('input').val()==""))
return false;
else
alert("Pls Ask Depot to add the Vehicle Number");
$("bdi:contains('Truck No')").closest('div').next().find('input').focusin();})
The condition is true but the page is showing 'else' statement and giving alert
When i Backward the page the URL is "https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-List"
Then again forward then url is 'https://www.eye2serve.com:9001/sap/bc/ui5_ui5/sap/zdca_portal/index.html?saml2=disabled&sap-client=300&sap-language=EN#/Depot-Dispatch-Detail/6527164082'
after this, code is working properly. can anybody help.