Untitled

 avatar
unknown
plain_text
a year ago
3.5 kB
5
Indexable
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/css/intlTelInput.css">
<style>
    /*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

    .iti {
        position: relative;
        display: inline-block;
        width: 100%;
    }

    .iti__selected-dial-code {
        display: none;
    }

    .iti--separate-dial-code .iti__selected-flag {
        background-color: rgb(0 0 0 / 0%);
    }


    input.code_id:focus {
        outline: none;
    }

    .iti iti--allow-dropdown iti--show-flags {
        border: none !important;
        border-radius: 0 !important;
        border-bottom: 1px solid blue !important;
    }

    .p-design {
        padding-left: 90px !important;
    }

    iti--allow-dropdown input,
    .iti--allow-dropdown input[type=text],
    .iti--allow-dropdown input[type=tel],
    .iti--separate-dial-code input,
    .iti--separate-dial-code input[type=text],
    .iti--separate-dial-code input[type=tel] {
        margin-left: 12px !important;
    }
</style>
@php
    $phone = $phone ?? '';
    $page = $page ?? '';
    $css = $css ?? '';
    $d_none = $d_none ?? '';
    $readonly = $readonly ?? '';

    if ($device == 'iPhone') {
        $width_css = 'width: 58px';
        $margin_left = '';
    } else {
        $width_css = 'width: 50px';
        $margin_left = 'margin-left:3px !important';
    }

@endphp
<!-- <small>{{ $device }}</small> -->
<div style="position: relative;">
    <input id="phone2" required type="tel" oninput="validatePhoneNumber(this)" value="{{ $phone ? $phone : '+91' }} "
        class="form-control w-10 phone-control p-design" maxlength="20" name="phone" name="iso2"
        style="width: 100%; {{ $margin_left }};  {{ $css }}" {{ $readonly }}>

    <input type="text" name="iso2" class="code_id" readonly
        style="border: solid 2px white; position: absolute; left: 43px; top: 5px; {{ $width_css }};">
</div>



<div id="phone-error" style="color: red;"></div>

<script src="https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/js/intlTelInput.min.js"></script>
<script>
    const input = document.querySelector("#phone2");
    window.intlTelInput(input, {
        separateDialCode: true,
        utilsScript: "https://cdn.jsdelivr.net/npm/intl-tel-input@18.2.1/build/js/utils.js",
    });

    const iti = intlTelInput(input);
    document.querySelector('input[name="iso2"]').value = "+" + `${iti.getSelectedCountryData().dialCode}`;
    input.addEventListener("countrychange", function() {
        console.log(iti.getSelectedCountryData());
        $("input[name=iso2]").val("+" + `${iti.getSelectedCountryData().dialCode}`);
    });
    const errorElement = document.querySelector("#phone-error");
    input.addEventListener("input", function() {
        const isValid = iti.isValidNumber();
        if (isValid) {
            errorElement.textContent = "";
            var data = $("#phone2").val();
            document.getElementById("phone2").maxLength = data.length;
            document.querySelector('[type = "submit"]').disabled = false;
        } else {
            errorElement.textContent = "Invalid phone number";
            document.querySelector('[type = "submit"]').disabled = true;
        }
    });
</script>

<script>
    function validatePhoneNumber(event) {
        var phoneNumber = event.value.replace(/\D/g, '');
        event.value = phoneNumber;
    }
</script>
Editor is loading...
Leave a Comment