शेड्यूलिंग के लिए समय चुनने के लिए मेरे पास ड्रॉप-डाउन वाला एक फॉर्म है

मैंने चयनकर्ता इनपुट का उपयोग नहीं किया, इसके बजाय मैंने स्टाइलिंग कारणों से मेनू बनाने के लिए निम्न HTML का उपयोग किया।

<div class="tabs">
  <div class="apt-time">
    <h3>&#64;Time</h3>
    <ul class="time-list">
      <li class="available">8:00am</li>
      <li class="available">9:00am</li>
      <li class="available">10:00am</li>
      <li class="available">11:00am</li>
      <li class="available">12:00am</li>
      <li class="available">1:00pm</li>
      <li class="available">2:00pm</li>
      <li class="available">3:00pm</li>
      <li class="available">4:00pm</li>
      <li class="available">5:00pm</li>
    </ul>
  </div>
</div>

इस वजह से मैं उपयोगकर्ता द्वारा मेनू में क्लिक किए गए डेटा को प्राप्त करने के लिए POST विधि का उपयोग नहीं कर सकता। तो मैंने एक समाधान के साथ आने की कोशिश की जो नीचे दिए गए कोड में जीईटी विधि के साथ मेरे PHP पृष्ठ पर ईवेंट के साथ एक स्ट्रिंग वैरिएबल पास कर सकता है। यदि कथन का उपयोग किया जा रहा है, तो ग्राहक मेनू में एक विकल्प पर क्लिक किए बिना फॉर्म जमा नहीं कर सकता है। क्या चयनकर्ता इनपुट का उपयोग किए बिना इसके आसपास कोई रास्ता है?

$('.available').click(function() {
  return clockTime = $(event.target).text()
})
$('.btn').click(function() {
  if ($('.available').click) {
    window.location.href = "textsms.php?"+clockTime
  } else {
    // warn client that they need to chose a time
  }
})
0
Ryan 29 मार्च 2018, 17:51

2 जवाब

आप पुनर्निर्देशन में प्राप्त चर को परिभाषित नहीं कर रहे हैं:

window.location.href = "textsms.php?"+clockTime

निम्नलिखित "घड़ी का समय" $_GET['time'] में संग्रहीत करेगा

window.location.href = "textsms.php?time="+clockTime

संपादित करें: वैसे भी आपका जेएस सही नहीं है।

var clockTime;
$('.available').click(function(e) {
    clockTime = $(this).text();
})
$('.btn').click(function() {
    if(typeof clockTime !== "undefined"){
        window.location.href = "textsms.php?time="+clockTime
    }else{
        // warn client that they need to chose a time
    }
});
0
Javier S 29 मार्च 2018, 14:57

आप इसके लिए एक नियंत्रण चर का उपयोग कर सकते हैं (एक सीएसएस वर्ग को परिभाषित करना जो चयनित विकल्प दिखाता है):

var selectedTime = '';

$('.available').click(function() {
   $('.available').removeClass('clicked');
   $(this).addClass('clicked');
   selectedTime = $(this).text();
})

$('.btn').click(function() {
  if (selectedTime != '') {
      window.location.href = "textsms.php?time="+selectedTime;
  } else {
    // warn client that they need to chose a time
  }
})
0
Dionei Miodutzki 29 मार्च 2018, 14:58