Ο τομέας των γεωργικών επιστημών διαδραματίζει κρίσιμο ρόλο στην υποστήριξη των παγκόσμιων συστημάτων τροφίμων μέσω της προστασίας των καλλιεργειών, της ενίσχυσης της απόδοσης και των αειφόρων γεωργικών εισροών. Οι εταιρείες σε αυτόν τον χώρο επικεντρώνονται στην ανάπτυξη ζιζανιοκτόνων, εντομοκτόνων, μυκητοκτόνων.
Για να συνεχίσετε να διαβάζετε, συνδεθείτε στον λογαριασμό σας, δημιουργήστε έναν δωρεάν λογαριασμό ή απλώς συμπληρώστε την παρακάτω φόρμα.
= 65 && key 12) {
this.value = this.value.slice(0, 12);
}
});
jQuery.validator.addMethod(“intlTelNumber”, function (value, element) {
const isValid = this.optional(element) || iti.isValidNumber();
// if (isValid) {
// $(document).find(“#sendOtpLink”).show();
// } else {
// $(document).find(“#sendOtpLink”).hide();
// }
return isValid;
}, “Please enter valid mobile number.”);
jQuery.validator.addMethod(“validatePhone”, function (value, element) {
const phone = $(element).val();
const isValid = iti.getSelectedCountryData().iso2 === ‘au’ ? /^4/.test(phone) : true;
const cleanPhone = phone.replace(/^0+/, ”);
// if (isValid && iti.isValidNumber()) {
// $(document).find(“#sendOtpLink”).show();
// } else {
// $(document).find(“#sendOtpLink”).hide();
// }
return isValid;
}, ‘Please enter valid mobile number.’);
jQuery.validator.addMethod(“emailPattern”, function(value, element) {
const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/;
return this.optional(element) || regex.test(value);
}, ‘Please enter a valid email address (e.g., abc@gmail.com)’);
function showMessage(type, message) {
$(“.errorDiv”).remove();
let bgClass = type === “success” ? “bg-success text-white” : “bg-white text-danger”;
let htmlMsg = `
]]>
`; $(document).find(“#signup_form button[type=’submit’]”).closest(“button”).before(htmlMsg); setTimeout(() => {$(“.errorDiv”).fadeOut(300, συνάρτηση () {$(this).remove(); }); }, 3000); } jQuery.validator.addMethodme”,(τιμή. this.optional(στοιχείο) || /^(?=(?:.*.[A-Za-z]){2,})[A-Za-z]+(?: [A-Za-z]+)*$/.test(value); }, “Παρακαλώ εισάγετε τουλάχιστον 2 γράμματα (μόνο γράμματα και μεμονωμένα κενά).”); συνάρτηση updateResendOtpTimer() { if (countdown > 0) { countdown–; $(“#timer”).text(countdown + “s”); } else { clearInterval(timer); αντίστροφη μέτρηση = 30; otpSent = ψευδής; $(“#resendOtpText”).hide(); $(“#sendOtpLink”).show(); } } συνάρτηση sendOtp() { const phoneInputVal = $(document).find(“#lead_phone”).val().trim(); const dialCode = iti.getSelectedCountryData().dialCode; const επιτρεπόμενεςΧώρες = [“44”, “61”, “1”, “91”, “64”]; εάν (!phoneInputVal) επιστρέψει showMessage(“σφάλμα”, “Παρακαλώ εισάγετε έναν αριθμό κινητού.”); εάν (!iti.isValidNumber()) επιστρέψει showMessage(“σφάλμα”, “Παρακαλώ εισάγετε έναν έγκυρο αριθμό κινητού.”); εάν (!allowedCountries.includes(dialCode)) επιστρέψει showMessage(“error”, “OTP είναι διαθέσιμο μόνο για “+ [“us”]) if(!otpSent){ $(document).find(“#lead_otp”).val(“”); } const phoneNumber = dialCode + phoneInputVal; request_id = $(document).find(“#ref_id”).val() || ”; otpSent = αληθές; $(document).find(“#sendOtpLink”).hide(); $(document).find(“#resendOtpText”).show(); //$(document).find(“.otp-form-group”).hide(); $.ajax({ url: “https://kalkinemedia.com/a/verification”, τύπος: ‘POST’, δεδομένα: { phone_number: phoneNumber, request_id }, headers: { ‘X-CSRF-TOKEN’: ‘ISE5zCLIdVMzGpbFh116i4QR9TiWHEFN: {EPPONSEOUs if (response.status === “success”) { showMessage(“success”, answer.message).find(“.otp-form-group”).show(if ($(document).find(“#ref_id”).length) {$(document.(“)”;’).attr({
 τύπος: “κρυφό”,
 id: ‘ref_id’,
 όνομα: ‘ref_id’,
 τιμή: απάντηση.αίτημα_id
 }).appendTo(’#φόρμα_εγγραφής);
 }

 αντίστροφη μέτρηση &ίσον; 30;
 χρονόμετρο &ίσον; setInterval(updateResendOtpTimer, 1000);
 } αλλιώς {
 otpSent = ψευδές;
 showMessage(”error”, απάντηση.μήνυμα);
 $(έγγραφο).εύρεση(”#resendOtpText”).απόκρυψη();
 &δολαρίου }
 },
 σφάλμα: συνάρτηση () {
 otpSent = ψευδές;
 showMessage(”error”, “Παρουσιάστηκε σφάλμα. Δοκιμάστε ξανά.”);
 $(έγγραφο).εύρεση(”#resendOtpText”).απόκρυψη();
 &δολαρίου }
 });
 }

 συνάρτηση verifyOtp() {
 $(document).find(”div.otp-form-group div.spinner-border”).removeClass(”d-none”);
 // $(document).find(”div.otp-form-group span#verifyOtpLink”).addClass(”d-none”);

 $.ajax({
 url: “https://kalkinemedia.com/a/verificationChecks”,
 τύπος: ‘ΑΝΑΡΤΗΣΗ’,
 δεδομένα: {
 αίτημα_id: $(document).find(”#ref_id”).val(),
 κωδικός: &δολαρίου },
 κεφαλίδες: {
 ‘X-CSRF-TOKEN’: ‘ISE5zCLIdVMzGpbFh116i4QR9TiWHEUsNlEP4oqF’
 },
 επιτυχία: λειτουργία(απόκριση) {
 $(document).find(”div.otp-form-group div.spinner-border”).addClass(”d-none”);
 εάν (απόκριση.κατάσταση === “επιτυχία”) {
 otpΕπαληθευμένο = αληθινό;
 showMessage(”επιτυχία”, απάντηση.μήνυμα);
 &δολαρίου αληθινό);
 // Κουμπί φόρμας &δολάριο setTimeout(() => toggleReadNowButton(), 0);
 // εάν($(”#hotstock_πλαίσιο ελέγχου”).είναι(”:επιλεγμένο”)){
 // “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, ψευδής);
 // }άλλο{
 // “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, αληθινό);
 // }

 $(document).find(”#sendOtpLink”).addClass(”d-none”);
 $(έγγραφο).εύρεση(”#resendOtpText”).απόκρυψη();
 $(document).find(”#verifyOtpLink”).addClass(”d-none”);
 $(έγγραφο).εύρεση(”#SuccessBadge”).removeClass(”d-none”);
 } αλλιώς {
 otpΕπαληθευμένο = ψευδές;
 showMessage(”error”, απάντηση.μήνυμα);
 setTimeout(() => toggleReadNowButton(), 0);
 // “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, αληθινό);
 // $(έγγραφο).find(”#verifyOtpLink”).removeClass(”d-none”);
 }
 &δολαρίου otpΕπαληθευμένο);
 },
 σφάλμα: συνάρτηση(xhr&κόμμα; κατάσταση&κόμμα; σφάλμα) {
 $(document).find(”div.otp-form-group div.spinner-border”).addClass(”d-none”);
 showMessage(”error”, σφάλμα.μήνυμα);
 // $(έγγραφο).find(”#verifyOtpLink”).removeClass(”d-none”);
 “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, αληθινό);
 }
 });
 }

 &δολαρίου sendOtp);

 $(document).on(”input”, “#lead_otp”, συνάρτηση () {
 const otp = δολαρίου;(αυτό).val();
 αν (otp.μήκος === 6) {
 verifyOtp();
 }
 });
 // &δολαρίου verifyOtp);

 λειτουργία toggleSendOtpButton() {
 // εάν (!iti) επιστροφή;
 const name = &δολάριο const email = &δολάριο const τηλέφωνο = &δολάριο // πλαίσιο ελέγχου const = Το (”#hotstock_πλαίσιο ελέγχου”).είναι(””επιλεγμένο με άνω και κάτω τελεία”);

 const isNameValid = όνομα.μήκος >= 2 && /^[a-zA-Z\s]+$/.test(όνομα);

 // Επικύρωση email: βασική μορφή email
 const isEmailValid = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+&bs ol;.[a-zA-Z]{2,}$/.test(email);

 // Επικύρωση τηλεφώνου χρησιμοποιώντας το intlTelInput
 const isPhoneValid = iti && iti.isValidNumber();

 // Επικύρωση πλαισίου ελέγχου: πρέπει να ελεγχθεί
 // const isCheckboxChecked = πλαίσιο ελέγχου;

 // Εάν όλα τα πεδία είναι έγκυρα, ενεργοποιήστε το κουμπί OTP
 εάν (isNameValid && isEmailValid && isPhoneValid) {
 &δολαρίου “pointer-events”:”auto”});
 } αλλιώς {
 $(document).find(”#sendOtpLink”).css({”opacity”:”0.5″, “δείκτες-γεγονότα”:”κανένα”});
 }

 // const formValid = “δολάριο;(”#φόρμα εγγραφής&lowbar””).έγκυρη();
 //const phoneValid = iti.isValidNumber();
 //εάν (formValid && phoneValid) {
 // $(document).find(”#sendOtpLink”).css({”αδιαφάνεια”:”1″,”pointer-events”:”auto”&rcubine;par //$(document).find(”#sendOtpLink”).show();
 //} αλλιώς {
 // $(έγγραφο).find(”#sendOtpLink”).css({”αδιαφάνεια”:”0.5″,”pointer-events”:”nonepar”:”nonepar”& //$(document).find(”#sendOtpLink”).απόκρυψη();
 // }
 }

 λειτουργία toggleReadNowButton(){

 const name = &δολάριο const email = &δολάριο const τηλέφωνο = &δολάριο const isNameValid = όνομα.μήκος >= 2 && /^[a-zA-Z\s]+$/.test(όνομα);
 const isEmailValid = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]&plu s;\.[a-zA-Z]{2,}$/.test(email);
 const isPhoneValid = iti && iti.isValidNumber();

 πλαίσιο ελέγχου = Το (”#hotstock_πλαίσιο ελέγχου”).είναι(””επιλεγμένο με άνω και κάτω τελεία”);

 const isCheckboxChecked = πλαίσιο ελέγχου;

 εάν (isNameValid && isEmailValid && isPhoneValid && isCheckboxChecked && otpVerified) {
 “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, ψευδής);
 }άλλο{
 “dolar;”(έγγραφο).εύρεση(”#signup_κουμπί φόρμας[type=’submit’]”).prop(”disabled”, αληθινό);
 }
 }

 Εισαγωγή φόρμας “#”#εγγραφή&lowbar””).on(”αλλαγή”, συνάρτηση () {
 setTimeout(() => toggleSendOtpButton(), 0);
 });

 &δολάριο συνάρτηση() {
 αυτή η τιμή = αυτή η τιμή.αντικαθιστά(/\s{2,}/g, ”);
 αυτή η τιμή = αυτή η.τιμή.αντικαθιστά(/[.]/g, ”);
 ((αυτό).έγκυρο();
 toggleSendOtpButton();
 });

 &δολάριο συνάρτηση() {
 αυτή η τιμή = αυτή η.τιμή.αντικαθιστά(/\s/g&κόμμα; ”);
 });

 εάν(ενεργοποιήσετε το OTPJS){
 &δολάριο συνάρτηση () {
 setTimeout(() => toggleReadNowButton(), 0);
 });
 }

 Φόρμα &δολαρίου;(”#εγγραφής_”).επικύρωση({
 errorΤοποθέτηση: συνάρτηση(σφάλμα&κόμμα; στοιχείο) {
 //στοιχείο.addClass(’is-invalid’);

 //$(στοιχείο).αδέλφια(’.σφάλμα’).αφαίρεση();

 //εάν ($(”.δεν είναι έγκυρο”).μήκος === 1) {
 // σφάλμα.appendTo(στοιχείο.γονικό());
 //}

 εάν (στοιχείο.attr(”όνομα”) &ίσον;&ίσον; “lead_name”)
 σφάλμα.appendTo(”#errordivname”);
 αλλιώς εάν (στοιχείο.attr(”όνομα”) &ίσον;&ίσον; “δυνητικός_email”)
 σφάλμα.appendTo(”#errordivemail”);
 αλλιώς εάν (στοιχείο.attr(”όνομα”) &ίσον;&ίσον; “lead_τηλέφωνο”)
 σφάλμα.appendTo(”#errordivmobile”);
 αλλιώς εάν (στοιχείο.attr(”όνομα”) &ίσον;&ίσον; “hotstock_box”)
 σφάλμα.appendTo(”#errordivcheckbox”);
 αλλιώς εάν (στοιχείο.attr(”όνομα”) &ίσον;&ίσον; “lead_otp”)
 σφάλμα.appendTo(”#errordivotp”);
 },

 επιτυχία: συνάρτηση(label, στοιχείο) {
 $(στοιχείο).removeClass(’is-invalid’);
 ετικέτα.αφαίρεση();
 },
 κανόνες: {
 lead_name: {
 απαιτείται: true,
 minlength: 2,
 μέγιστο μήκος:50,
 validName:true
 },
 μολύβδου_τηλέφωνο: {
 intlTelNumber: true,
 απαιτείται: true,
 αριθμός: true,
 επικύρωση τηλεφώνου: true,
 μέγιστο μήκος:12
 },
 οδηγός_email: {
 απαιτείται: true,
 email: true,
 email Pattern: αληθινό
 },
 hotstock_πλαίσιο ελέγχου: {
 απαιτείται: true,
 },
 μόλυβδος_otp: {
 απαιτείται: συνάρτηση() {
 // var SelectedCountry = iti.getSelectedCountryData();
 // επιστροφή επιλεγμένηΧώρα.iso2 === ‘gb’;
 var SelectedCountry = iti.getSelectedCountryData();
 επιστροφή επιλεγμένηΧώρα.iso2 === ‘gb’ || επιλεγμένηΧώρα.iso2 === ‘au’ || επιλεγμένηΧώρα.iso2 === ‘ca’ || επιλεγμένηΧώρα.iso2 === “εμάς”;
 },
 minlength: 6,
 μέγιστο μήκος& άνω και κάτω τελεία; 6,
 ψηφία: αλήθεια
 },
 },

 onkeyup: συνάρτηση(στοιχείο) {
 αυτό το.στοιχείο(στοιχείο);
 setTimeout(() => toggleSendOtpButton(), 0);
 },
 onfocusout: συνάρτηση(στοιχείο) {
 αυτό το.στοιχείο(στοιχείο);
 setTimeout(() => toggleSendOtpButton(), 0);
 },

 μηνύματα: {
 lead_name: {
 απαιτείται: “Παρακαλώ εισάγετε έγκυρο όνομα.”,
 minlength: ‘Το όνομα πρέπει να αποτελείται από τουλάχιστον 4 χαρακτήρες.’
 },
 lead_email: {
 απαιτείται: “Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email”,
 email: “Πληκτρολογήστε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου (e.g., abc@gmail.com)’,
 email Pattern: “Πληκτρολογήστε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου (e.g., abc@gmail.com)’
 },
 καλώδιο_τηλέφωνο: {
 απαιτείται: ‘Παρακαλώ εισάγετε έγκυρο αριθμό κινητού.’
 },
 hotstock_πλαίσιο ελέγχου: {
 απαιτείται: “Διαβάστε τους Όρους και τις Προϋποθέσεις μας.”
 },
 μόλυβδος_otp: {
 απαιτείται: “Απαιτείται έγκυρο OTP που έχετε λάβει στον αριθμό σας.”
 },
 },

 submitHandler: συνάρτηση(form) {
 συμβάν.preventDefault();
 var navigate_url = $(”.πλοήγηση_url”).val();
 Φόρμα &δολαρίου Φόρτωση…’).prop(‘disabled’,true); // var countryCode = $(“#signup_form”).find(‘div.iti__selected-dial-code’).html() var selectedCountryData = iti.getSelectedCountryData(); var countryCode = επιλεγμένοCountryData.iso2; var countryCode2 = selectedCountryData.dialCode; $(”).attr({ type: ‘hidden’, id: ‘countryCode’, name: ‘countryCode’, value: countryCode2 }).appendTo(‘#signup_form’); $(”).attr({
 τύπος: “κρυφό”,
 id: ‘countryCodeISO’,
 όνομα: ‘countryCodeISO’,
 τιμή: countryCode
 }).appendTo(’#φόρμα_εγγραφής);

 var url = “https://kalkinemedia.com/a/checkPhoneNumber”;

 url =`${url}/${countryCode2+$(document&rp ar;.find(”#lead_τηλέφωνο”).val()}`

 εάν (ενεργοποιήσετε τοOTPJS && !otpVerified) {
 toast_msg(”Απαιτείται επαλήθευση OTP”, ‘σφάλμα’);
 Φόρμα &δολάριο ψευδής);
 επιστροφή
 }

 $.λήψη(url, λειτουργία(απόκριση) {
 εάν (απόκριση.κατάσταση) {

 &δολάριο;(”).attr({ type: ‘hidden’, id: ‘telesignScore’, name: ‘telesignScore’, value: answer.data.telesign_info ?? “NA” }).appendTo(‘#signup_form’); $(”).attr({
 τύπος: “κρυφό”,
 id: “addrScore”,
 όνομα: “addrScore”,
 τιμή: ($(document).find(”#ref_id”).val() !== ” && otpΕπαληθευμένο) &αναζήτηση; «αληθινό»: “ψεύτικο”
 }).appendTo(’#φόρμα_εγγραφής);

 // εάν η (απάντηση.otp_απαιτείται && $(έγγραφο).find(”.otp-form-group”).έχει Class(”d-none”)) {
 //$(document).find(”.otp-form-group”).removeClass(”d-none”)
 // } αλλιώς {
 // $(document).find(”.otp-form-group”).addClass(”d-none”)
 // }

 $.ajax({
 κεφαλίδες: {
 ‘X-CSRF-TOKEN’: ‘ISE5zCLIdVMzGpbFh116i4QR9TiWHEUsNlEP4oqF’
 },
 τύπος: “POST”,
 url: “https://kalkinemedia.com/περιεχόμενο/χρήστη_block/lead”,
 δεδομένα: $(form).serialize(),
 dataType: ‘json’,
 επιτυχία: συνάρτηση(αποτέλεσμα) {
 εάν (αποτέλεσμα.κατάσταση == 1) {
 παράθυρο.τοποθεσία.href = αποτέλεσμα.ανακατεύθυνσης_url;
 showMessage(”επιτυχία”, αποτέλεσμα.μήνυμα)
 } αλλιώς {
 showMessage(”error”, αποτέλεσμα.μήνυμα)
 Φόρμα &δολάριο ‘Ενημέρωση’).prop(’απενεργοποιημένη’&κόμμα; ψευδής);
 }
 }
 });

 }
 }).αποτυχία(λειτουργία(jqXHR, textStatus, errorThrown) {
 // Χειρισμός σφαλμάτων
 // κονσόλα.σφάλμα(’Σφάλμα& άνω τελεία;’&κόμμα; textStatus, errorThrown);
 });

 επιστροφή ψευδούς;
 }
 });
 });
 





