2017-06-22 4 views
0

Ich arbeite an einem JS-Programm, wo ich Formularaktion habe. Wie kann ich eine JS-Variable namens event.title in URL übergeben, die aufgerufen wird. Derzeit lautet die URL /register. Ich möchte es als /register/some_name machen. Vielen Dank.Übergeben Sie eine JavaScript-Variable in einem HTML-Formular Aktion

Code:

eventRender: function(event, element, view){ 
      element = $(element); 
      if(event.holiday){ 
       var date = moment(event.date).format("YYYY-MM-DD"); 
       $(view.el[0]).find(".fc-day[data-date="+date+"]").html("<span>" + event.title + "</span>").addClass("holiday"); 
       return false; 
      } else { 
       element.find('.fc-time').hide(); 
       element.css("min-height", "30px").css("border-width", "0px").css("margin-bottom", "2px"); 
       var text; 
       var operator; 
       element.addClass("course"+ event.id).addClass("event"+ event.id); 
       if(event.quantity == 1){ 
        operator = " Termin"; 
       } else if (event.quantity > 1){ 
        operator = " Termine"; 
       } 
       if(event.backgroundColor == "#fa3e54"){ 
        text ='<form method="POST" action="/register/${event.title}"> <div class="coursename">'+event.title +'</div>' + 
         '<div class="course-date">Kurs nicht mehr buchbar</div></form>'; 
       } else { 
        var register = '<div class="anmelden"><input type="hidden" name="token" value="'+event.id + ',' + event.date + ',' + event.time + ',' + event.quantity + '' + operator+'"><input type="submit" class="btn-u pull-right" value="Anmelden"></div></form>'; 
        text ='<form method="POST" action="/register/${event.title}"> <div class="coursename">'+event.title +'</div>' + 
         '<div class="course-date">Termine: '+ event.date + '</div>' + 
         '<div class="course-time">Uhrzeit: '+ event.time + '</div>' + 
         '<div class="coursequantity">Kursdauer: ' + event.quantity + ' ' + operator + '</div>' + register; 
        element.find(".fc-content").append('<form method="POST" action="/register/${event.title}">'+register+'</form>'); 
       } 
} 

Antwort

1

Ich denke nur Ihre String-Verkettung in der action="..." von den <form> s ist falsch

ändern

text ='<form method="POST" action="/register/${event.title}"> <div class="coursename">'+event.title +'</div>' + 

zu:

text ='<form method="POST" action="/register/'+event.title +'"> <div class="coursename">'+event.title +'</div>' + 

also

eventRender: function(event, element, view){ 
      element = $(element); 
      if(event.holiday){ 
       var date = moment(event.date).format("YYYY-MM-DD"); 
       $(view.el[0]).find(".fc-day[data-date="+date+"]").html("<span>" + event.title + "</span>").addClass("holiday"); 
       return false; 
      } else { 
       element.find('.fc-time').hide(); 
       element.css("min-height", "30px").css("border-width", "0px").css("margin-bottom", "2px"); 
       var text; 
       var operator; 
       element.addClass("course"+ event.id).addClass("event"+ event.id); 
       if(event.quantity == 1){ 
        operator = " Termin"; 
       } else if (event.quantity > 1){ 
        operator = " Termine"; 
       } 
       if(event.backgroundColor == "#fa3e54"){ 
        text ='<form method="POST" action="/register/'+event.title +'"> <div class="coursename">'+event.title +'</div>' + 
         '<div class="course-date">Kurs nicht mehr buchbar</div></form>'; 
       } else { 
        var register = '<div class="anmelden"><input type="hidden" name="token" value="'+event.id + ',' + event.date + ',' + event.time + ',' + event.quantity + '' + operator+'"><input type="submit" class="btn-u pull-right" value="Anmelden"></div></form>'; 
        text ='<form method="POST" action="/register/'+event.title +'"> <div class="coursename">'+event.title +'</div>' + 
         '<div class="course-date">Termine: '+ event.date + '</div>' + 
         '<div class="course-time">Uhrzeit: '+ event.time + '</div>' + 
         '<div class="coursequantity">Kursdauer: ' + event.quantity + ' ' + operator + '</div>' + register; 
        element.find(".fc-content").append('<form method="POST" action="/register/'+event.title +'">'+register+'</form>'); 
       } 
} 
+0

Immer noch ein 404, wird die URL einfach als/register/aufgerufen. Vielen Dank. –

+0

funktioniert es, wenn Sie alle '/register/'+event.title + '' durch etwas '/ register/my-url' ersetzen? – caramba

+1

Arbeitete jetzt, musste den Cache löschen. –

Verwandte Themen