2017-06-22 46 views
0

我正在开发一个JS程序,其中我有表单操作。我如何传递一个名为event.title的JS变量在被调用的URL中。目前的网址是/register。我想使它成为/register/some_name。谢谢。在HTML表单中传递JavaScript变量动作

代码:

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>'); 
       } 
} 

回答

1

我觉得只有在action="..."<form>是你的字符串连接是错误的

变化

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

到:

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

所以

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

仍然得到一个404,该url简称为/ register /。谢谢。 –

+0

如果你用'/ register/my-url'替换了所有的'/register/'+event.title +'',它会起作用吗? – caramba

+1

现在工作了,不得不清除缓存。 –