কীভাবে jQuery বা কেবল জাভাস্ক্রিপ্ট ব্যবহার করে কোনও বোতামকে অন্য পৃষ্ঠায় পুনঃনির্দেশ করা যায়


104

আমি একটি প্রোটোটাইপ তৈরি করছি এবং আমি অনুসন্ধান বোতামটি একটি নমুনা অনুসন্ধান ফলাফল পৃষ্ঠায় লিঙ্ক করতে চাই।

আমি যখন কোনও বোতামটি অন্য পৃষ্ঠায় পুনঃনির্দেশিত করব তখন এটি jQuery বা সাধারণ জেএস ব্যবহার করে ক্লিক করা হবে।


আমি জেএসের জন্য জিজ্ঞাসা করেছি কারণ আমি ভাবিনি যে একটি সাধারণ এইচটিএমএল সমাধান পাওয়া যায়। ধন্যবাদ এটি আমার উদ্দেশ্য সমাধান করেছে।
অঙ্কুর

উত্তর:


66

লিপি ছাড়াই:

<form action="where-you-want-to-go"><input type="submit"></form>

আরও ভাল, যেহেতু আপনি কেবল কোথাও যাচ্ছেন, ব্যবহারকারীকে "কেবল কোথাও যাচ্ছেন" এর জন্য স্ট্যান্ডার্ড ইন্টারফেসের সাথে উপস্থাপন করুন:

<a href="where-you-want-to-go">ta da</a>

যদিও, প্রসঙ্গটি "ব্যবহারকারী একটি ফর্ম জমা দেয় সেখানে একটি সাধারণ অনুসন্ধান সিমুলেট করুন" বলে মনে হচ্ছে, এক্ষেত্রে প্রথম বিকল্পটি যাওয়ার উপায়।


14
লিঙ্কের কথা কে ভাবেন? হাহা
meouw

ফর্মের জন্য +1। যেহেতু এটি একটি উপযুক্ত অনুসন্ধান ফর্ম হবে অবশেষে আপনার যদি এটি সম্ভব হয় তবে এখন সম্ভব হয়।
অসন্তুষ্ট গোয়াট

@ সুহাইল - জাভাস্ক্রিপ্টের উপর তিনবারের বেশি কোড এবং নির্ভরতা ভাল নয়।
কোয়ান্টিন

4
@ayjay - সাবমিট বাটনটি সেই ফর্মের সাথে সম্পর্কিত থাকলে কেবল একটি জমা জমা বোতামটি ক্লিক করা একটি ফর্ম জমা দেয়। এটিতে ইনপুট স্থাপন করা doতিহ্যগত এবং সর্বোত্তম সমর্থিত উপায়।
কোয়ান্টিন

4
@ মিমি - না, তা হয় না। ফর্ম পুনরায় জমা দেওয়ার সমস্যাগুলি কেবল তখনই ঘটে যখন আপনি একটি অনুরোধ করছেন যা "নিরাপদ" নয় (এই ক্ষেত্রে এটি একটি পোষ্ট ফর্ম হওয়া উচিত… তবে প্রশ্নটি সরল নেভিগেশন সম্পর্কে জিজ্ঞাসা করছিল, সুতরাং এটি নিরাপদ না ভাবার কোনও কারণ নেই)। যখন অনুরোধটি নিরাপদ নাও হতে পারে ব্রাউজারগুলি তখনই তাদের সম্ভাবনার বিষয়ে সতর্ক করে (তাই তারা এ ক্ষেত্রে তা করবে না কারণ এটি তা নয় method="POST")।
কুইন্টিন


76
$('#someButton').click(function() {
    window.location.href = '/some/new/page';
    return false;
});

4
মিথ্যা ফিরবে কেন?
ফ্রান্সিসকো মোরালস

4
এটি ছাড়া return false, "এন্টার বা রিটার্ন কী" টিপুন আপনাকে নতুন লিঙ্কে পুনর্নির্দেশ না করে কেবল বর্তমান url এ নিয়ে যেতে পারে। বিশেষত দরকারী, যখন আপনার কাছে একটি পাঠ্য ইনপুট নিয়ন্ত্রণ থাকে যা আপনি প্রবেশ / ফেরত কী টিপলে কোনও আলাদা ইউআরএল পোস্ট করতে চান।
বিশ্বাস

4
এটি খুব ভাল ব্যাখ্যা নয়। প্রত্যাবর্তনের মানটি ইভেন্টটির প্রক্রিয়া চালিয়ে যাওয়া উচিত কিনা তা নির্দেশ করে। ডিফল্টরূপে, ইভেন্টটি বুদবুদ অবিরত থাকবে এবং অন্য ক্রিয়াগুলি যেমন ফর্ম জমা দেওয়া, বা কোনও লিঙ্কে যাওয়া, বা কিছুই না হতে পারে trigger তবে আপনি এখানে ইভেন্টটিকে "শোষণ" করতে চান। মিথ্যা প্রত্যাবর্তনের মাধ্যমে, ইভেন্ট প্রক্রিয়াটি এখানেই শেষ হবে।

4
ধন্যবাদ - প্রত্যাবর্তন মিথ্যা আমাকে বাঁচিয়েছিল - ভাবছিল যে ইউআরএলটি কেন বদলাবে না - তবে হায় হায় কিছু অন্য স্ক্রিপ্ট অবশ্যই ক্লিকটি প্রক্রিয়াকরণ অব্যাহত রেখেছিল।
ডেরিক ডেনিস

22

আপনার এইচটিএমএলে, আপনি আপনার বোতামটিতে ডেটা অ্যাট্রিবিউট যুক্ত করতে পারেন:

<button type="submit" class="mybtn" data-target="/search.html">Search</button>

তারপরে আপনি url পরিবর্তন করতে jQuery ব্যবহার করতে পারেন:

$('.mybtn').on('click', function(event) {
    event.preventDefault(); 
    var url = $(this).data('target');
    location.replace(url);
});

আশাকরি এটা সাহায্য করবে


2020: ডেটা-টার্গেট সম্পর্কে বিটের কারণে আমার পক্ষে সেরা উত্তর .... ধন্যবাদ !!!
মার্কোজেইন



10

জাভাস্ক্রিপ্টের দরকার নেই, কেবল একটি লিঙ্কে এটি মোড়ানো

<a href="http://www.google.com"><button type="button">button</button></a>

অঙ্কুর বৈধ এইচটিএমএল 5 জিজ্ঞাসা করেননি, তিনি তার প্রোটোটাইপের জন্য সমাধান চেয়েছিলেন
ওভেন


7

আপনি উইন্ডো.লোকশন ব্যবহার করতে পারেন

window.location="/newpage.php";

অথবা আপনি অনুসন্ধান ফর্মটি যে ফর্মটি চান তাতে পৃষ্ঠার একটি ক্রিয়া রয়েছে তা আপনি কেবল তৈরি করতে পারেন।


4

একটি নমুনা অনুসন্ধান ফলাফল পৃষ্ঠায় লিঙ্ক করতে অনুসন্ধান বোতামটি তৈরি করতে আপনি এই সাধারণ জাভাস্ক্রিপ্ট কোডটি ব্যবহার করতে পারেন। এখানে আমি আমার হোম পৃষ্ঠার '/ অনুসন্ধান' এ পুনঃনির্দেশ করেছি, আপনি যদি গুগল অনুসন্ধান ইঞ্জিন থেকে অনুসন্ধান করতে চান তবে আপনি ফর্ম ক্রিয়ায় " https://www.google.com/search " ব্যবহার করতে পারেন ।

<form action="/search"> Enter your search text: 
<input type="text" id="searchtext" name="q"> &nbsp;
<input onclick="myFunction()" type="submit" value="Search It" />
</form> 
<script> function myFunction() 
{ 
var search = document.getElementById("searchtext").value; 
window.location = '/search?q='+search; 
} 
</script>

2

YT 2012 কোড থেকে।

<button href="https://stackoverflow.com/signin" onclick=";window.location.href=this.getAttribute('href');return false;">Sign In</button>


2

এটি করার সবচেয়ে দ্রুত (সবচেয়ে পঠনযোগ্য, কমপক্ষে জটিল) উপায়, ওউন্স কাজ করে তবে এটি আইনী এইচটিএমএল নয়, প্রযুক্তিগতভাবে এই উত্তরটি jQuery নয় (তবে যেহেতু jQuery একটি প্রাক-প্রস্তুত সিউডোকোড) - ক্লায়েন্ট প্ল্যাটফর্মে স্থানীয় জাভাস্ক্রিপ্ট হিসাবে পুনরায় ব্যাখ্যা করা হয়েছে - সত্যিই হয় jQuery এর যেমন জিনিস যাহাই হউক না কেন)

 <button onclick="window.location.href='http://www.google.com';">Google</button>

0

এবং রেল 3 এ কন্ট্রিস্ক্রিপ্ট সহ অবরোহক জাভাস্ক্রিপ্ট (ইউজেএস) ব্যবহার করে:

এতে যুক্ত করুন assets/javascripts/my_controller.js.coffee:

$ ->
  $('#field_name').click ->
    window.location.href = 'new_url'

যা পড়ে: যখন ডকুমেন্ট.আডির ইভেন্টটি গুলি onclickচালিয়ে গেছে, তখন কোনও ডিওএম অবজেক্টে একটি ইভেন্ট যুক্ত করুন যার আইডি field_nameযা জাভাস্ক্রিপ্ট চালায়window.location.href='new_url';


0

ক্লায়েন্টের দিক পুনর্নির্দেশ সম্পর্কে এখানে প্রচুর প্রশ্ন রয়েছে এবং আমি তাদের বেশিরভাগকেই ছাড়তে পারি না ... এটি একটি ব্যতিক্রম।

পুনর্নির্দেশ ক্লায়েন্টের কাছ থেকে আসার কথা নয় ... এটি সার্ভার থেকে আসার কথা। যদি আপনার সার্ভারের কোনও নিয়ন্ত্রণ না থাকে তবে আপনি যেতে অবশ্যই অন্য একটি URL চয়ন করতে জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন, তবে… এটি পুনর্নির্দেশ নয়। পুনর্নির্দেশটি সার্ভারে 300 টি স্ট্যাটাস কোডের সাথে বা এইচটিএমএলে মেটা ট্যাগটি চালিত করে করা হয়।


0

একটি লিঙ্ক ব্যবহার করুন এবং এটি বোতামের মতো স্টাইল করুন:

<a href="#page2" class="ui-btn ui-shadow ui-corner-all">Click this button</a>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.