redirect به دایرکتوری با وارد کردن نام آن
سلام من یک کد جاوا اسکریپت دارم که کار کردش به این صورت هست که یک فرم html دارم که شامل یک input و یک دکمه هست. اگر کادر input خالی باشد بعد از زدن دکمه، کاربر به صفحه "error.html" منتقل میشود. اگر نام دایرکتوری وارد شود ولی دایرکتوری به آن نام وجود نداشته باشد کاربر به صفحه "error2.html" منتقل خواهد شد. اما یک مشکل وجود دارد. اگر نام دایرکتوری وجود داشته باشد (مثل 333)، کاربر باید بعد از زدن دکمه به دایرکتوری 333 هدایت می شود ولی اینطور نیست و در عوض، صفحه "error2.html" دوباره نشان می دهد. آیا راهی برای حل این مشکل وجود دارد؟ ممنون<br>
<form action="javascript:void(0)" name="f1" onsubmit="jump();">
<input type="text" name="k1" value="" placeholder="Enter the name of the directory"/>
<input id="submit" type="submit" name="s1" value="check">
</form>
<script>
function jump() {
var directory = document.f1.k1.value.trim();
if (directory === "") {
window.location.href = 'error.html';
document.f1.k1.focus();
return;
}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
window.location.href = directory;
} else {
window.location.href = 'error2.html';
}
}
};
xhttp.open("HEAD", directory, true);
xhttp.send();
}
</script>
نقل قول: redirect به دایرکتوری با وارد کردن نام آن
نقل قول:
نوشته شده توسط
flat_00
سلام من یک کد جاوا اسکریپت دارم که کار کردش به این صورت هست که یک فرم html دارم که شامل یک input و یک دکمه هست. اگر کادر input خالی باشد بعد از زدن دکمه، کاربر به صفحه "error.html" منتقل میشود. اگر نام دایرکتوری وارد شود ولی دایرکتوری به آن نام وجود نداشته باشد کاربر به صفحه "error2.html" منتقل خواهد شد. اما یک مشکل وجود دارد. اگر نام دایرکتوری وجود داشته باشد (مثل 333)، کاربر باید بعد از زدن دکمه به دایرکتوری 333 هدایت می شود ولی اینطور نیست و در عوض، صفحه "error2.html" دوباره نشان می دهد. آیا راهی برای حل این مشکل وجود دارد؟ ممنون<br>
<form action="javascript:void(0)" name="f1" onsubmit="jump();">
<input type="text" name="k1" value="" placeholder="Enter the name of the directory"/>
<input id="submit" type="submit" name="s1" value="check">
</form>
<script>
function jump() {
var directory = document.f1.k1.value.trim();
if (directory === "") {
window.location.href = 'error.html';
document.f1.k1.focus();
return;
}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
window.location.href = directory;
} else {
window.location.href = 'error2.html';
}
}
};
xhttp.open("HEAD", directory, true);
xhttp.send();
}
</script>
How To Redirect to Another Webpage (w3schools.com)
نقل قول: redirect به دایرکتوری با وارد کردن نام آن
نقل قول:
نوشته شده توسط
ROSTAM2
سلام. میشه بفرمایید اشکال کدی که من بالا گذاشتم چیه؟ همه چیز به نظر خوب کار میکنه. فقط اگر دایرکتوری وجود داشته باشه با نوشتن اسمش قاعدتا باید window.location.href = directory; رو اجرا کنه ولی بخش else رو اجرا میکنه یعنی window.location.href = 'error2.html'; نمایش داده میشه در صورتی که باید مثلا پوشه 333 رو نشون بده.
نقل قول: redirect به دایرکتوری با وارد کردن نام آن
سلام و روز خوش
منطق کد ظاهرا باید درست باشه و اشکالی دیده نمیشه.
ولی بشرط این که اون <b></b> رو از action بردارین!
فکر کنم موقع کپی کردن کد، فرمت اون هم کپی شده: "javascript:void(0)"
نقل قول: redirect به دایرکتوری با وارد کردن نام آن
نقل قول:
نوشته شده توسط
mazoolagh
سلام و روز خوش
منطق کد ظاهرا باید درست باشه و اشکالی دیده نمیشه.
ولی بشرط این که اون <b></b> رو از action بردارین!
فکر کنم موقع کپی کردن کد، فرمت اون هم کپی شده: "javascript:void(0)"
انجام دادم نشد حتی xhttp.open("HEAD", directory, true); رو به xhttp.open("HEAD", directory.toString(), true); تغییر دادم باز کار نکرد.
نقل قول: redirect به دایرکتوری با وارد کردن نام آن
شاید فقط فایل رو در مرورگر باز میکنین.
این کد شما برای این که درست اجرا بشه لازم هست که فایل ها روی وب سرور باشه.
ظاهر کد مشکلی نداره.
-----
دلیل خاصی هست که از این روش استفاده میکنین؟
چون راه های ساده تر هم هست، بخصوص اگر فولدرهای شما ثابت باشن.
اگر هم اسامی و تعداد اونها متغییر هست، معمولا یعنی وب پیج شما سمت سرور ساخته میشه و اونجا هم کار راحت هست.