I'm facing a problem that with my Laravel project in JavaScript part.
My issue is that I have a form and when taking the variable outside the function it becomes empty ("") and works only inside the function
<form method="POST" action="#">
@csrf
<label for="package">إختر الباقة:</label>
<div class="card-deck mb-4 text-center">
<div class="card shadow-sm">
<div class="card-header bg-dark-1">
<h6 class="my-0 text-white">اشتراك شهري</h6>
</div>
<div class="card-body">
<h1 class="card-title">$20</h1>
<div class="form-check">
<input type="radio" onclick="setPrice()" class="form-check-input" id="package"
name="package" class="radios" value="20" />
<label class="form-check-label" for="package">إختر هذه الباقة</label>
</div>
</div>
</div>
<div class="card shadow-sm">
<div class="card-header bg-dark-1">
<h6 class="my-0 text-white">نصف سنوي</h6>
</div>
<div class="card-body">
<h1 class="card-title">$50</h1>
<div class="form-check">
<input type="radio" class="form-check-input" onclick="setPrice()" id="package"
name="package" value="50" class="radios" />
<label class="form-check-label" for="package">إختر هذه الباقة</label>
</div>
</div>
</div>
<div class="card shadow-sm">
<div class="card-header bg-dark-1">
<h6 class="my-0 text-white">اشتراك سنوي</h6>
</div>
<div class="card-body">
<h1 class="card-title">$100</h1>
<div class="form-check">
<input type="radio" class="form-check-input" onclick="setPrice()" id="package"
name="package" value="100" class="radios" />
<label class="form-check-label" for="package">إختر هذه الباقة</label>
</div>
</div>
</div>
</div>
<div class="form-group">
<input type="text" name="name" onclick="setName()" class="form-control" id="name" required
data-error="الرجاء ادخال الاسم الكامل" placeholder="الاسم الكامل" />
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input type="text" name="phone" onchange="setPhone()" class="form-control" id="phone" required
data-error="الرجاء ادخال رقم الهاتف" placeholder="رقم الهاتف" />
@if ($errors->has('phone'))
<span class="help-block">
<strong>{{ $errors->first('phone') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input type="email" name="email" onchange="setEmail()" class="form-control" id="email" required
data-error="الرجاء ادخال البريد الالكتروني" placeholder="البريد الالكتروني" />
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input type="password" onchange="setPassword()" name="password" class="form-control" id="password"
required data-error="الرجاء ادخال كلمة السر" placeholder="كلمة السر" />
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<input type="password" name="password_confirmation" class="form-control" id="password-confirm"
required data-error="الرجاء ادخال تأكيد كلمة السر" placeholder="تأكيد كلمة السر" />
@if ($errors->has('password_confirmation'))
<span class="help-block">
<strong>{{ $errors->first('password_confirmation') }}</strong>
</span>
@endif
</div>
<button class="default-btn confirm_payment" name="submit" onclick="Checkout.showPaymentPage();"
id="form-submit">تسجيل</button>
SHOW
and when taking a variable only works inside the function and outside always empty here's my script part:
<script type="text/javascript">
var package1 = $('input[name="package"]:checked').val();
var name1 = $('input[name="name"]').val(); //name
var phone1 = $('input[name="phone"]').val(); //phone
var email1 = $('input[name="email"]').val(); //email
var password1 = $('input[name="password"]').val(); //password
$("#show").click(function() {
console.warn(name1);//result ""
// if i write var package1 = $('input[name="package"]:checked').val(); and others inside the function here it works.
});
</script>