ريان شريف نشر 17 يناير 2023 أرسل تقرير نشر 17 يناير 2023 <form> <label for="number">Enter 7-digit number:</label> <input type="text" id="number" name="number" maxlength="7"> <button type="submit" onclick="redirect()">Submit</button> </form> <script> function redirect() { var number = document.getElementById("number").value; var url = ""; switch (number) { case "1111111": url = "https://google.com/"; break; case "2222222": url = "https://youtube.com/"; break; case "3333333": url = "https://twitter.com/"; break; case "4444444": url = "https://facebook.com/"; break; case "5555555": url = "https://rraass852.com/"; break; case "6666666": url = "https://meta.com/"; break; case "7777777": url = "https://tesla.com/"; break; default: var error = document.createElement("div"); error.style.cssText = "font-size:1.2em; padding:20px; background-color:red; color:white; text-align:center;"; error.innerHTML = "Invalid number, please enter a valid number"; document.body.appendChild(error); setTimeout(function() { document.body.removeChild(error); }, 3000); return; } window.location.href = url; } </script> أملك كود الجافا سكربت هذا كتبته يعني لكن المشكلة أن صندوق الخطأ لا يقف 3 ثواني بل يقف أقل من جزء الثانية وأيضا عند إدخال الرقم لا يتم أخذي إلى الرابط الخاص به 1 اقتباس
0 عمر قره محمد نشر 17 يناير 2023 أرسل تقرير نشر 17 يناير 2023 يمكنك تعديل الكود للشكل التالي : <form> <label for="number">Enter 7-digit number:</label> <input type="text" id="number" name="number" maxlength="7" /> <!-- عدل استدعاء الوظيفة من هنا --> <button type="submit" id="submit" onclick="redirect(event)">Submit</button> </form> <script> // قم بإضافات البراميتر function redirect(e) { // قم بإضافة الكود التالي e.preventDefault(); var number = document.getElementById("number").value; var url = ""; switch (number) { case "1111111": url = "https://google.com/"; break; case "2222222": url = "https://youtube.com/"; break; case "3333333": url = "https://twitter.com/"; break; case "4444444": url = "https://facebook.com/"; break; case "5555555": url = "https://rraass852.com/"; break; case "6666666": url = "https://meta.com/"; break; case "7777777": url = "https://tesla.com/"; break; default: var error = document.createElement("div"); error.style.cssText = "font-size:1.2em; padding:20px; background-color:red; color:white; text-align:center;"; error.innerHTML = "Invalid number, please enter a valid number"; document.body.appendChild(error); setTimeout(function () { document.body.removeChild(error); }, 3000); return; } window.location.href = url; } </script> 1 اقتباس
0 عبدالباسط ابراهيم نشر 17 يناير 2023 أرسل تقرير نشر 17 يناير 2023 المشكلة في الكود وهي ليست مشكلة بالفعل حيث أنه السلوك الطبيعى لل javascript حيث أن ال submit يجب أن يتم عمل reload للصفحة وذلك الطبيعي ولمنع هذا السلوك يمكنكنا إضافة الدالة preventDefault كما في التعليق السابق ويمكننا أيضاً إضافة هذه الدالة لل button بشكل أبسط كالتالي <button type="submit" onclick="event.preventDefault(); redirect()">Submit</button> ويمكن استبدال هذه الدالة بال return: false لل form ولكن يفضل استخدام ال preventDefault وإذا كنت تريد دعم المتصفحات القديمة ليعمل الموقع بشكل سليم على جميع المتصفحات يمكننا إضافة هذا الكود في الكود الموجود في التعليق السابق نستبدل e.preventDefault(); ب if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } اقتباس
السؤال
ريان شريف
أملك كود الجافا سكربت هذا كتبته يعني لكن المشكلة أن صندوق الخطأ لا يقف 3 ثواني بل يقف أقل من جزء الثانية
وأيضا عند إدخال الرقم لا يتم أخذي إلى الرابط الخاص به
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.