2017-04-05 2 views
1

Auf meinem Codeigniter-Projekt Wenn ich auf meine Absenden-Schaltfläche klicken, habe ich ein Skript, wo ändert sich die URL zu etwas wie darunter fügt die Sucheingabe zu URL.Entfernen letzten HYPHEN aus URL Zeichenfolge Segment auf Formular senden

http://localhost/project-ask/questions/tagged/how-to-use-/

Frage Wie kann ich das letzte HYPHEN - in Segment 3 diese /how-to-use-/ 3 wäre Segment entfernen, wenn ich auf Senden klicken, so würde es wie eine Sache aussieht /how-to-use/

<script type="text/javascript"> 
$(function() { 
    $("#form-search").submit(function(e) { 
     e.preventDefault(); 
     str = $('#input-search').val(); 
     url = "<?php echo base_url('questions/tagged/');?>" + str.replace(/\s/g, "-"); 
     window.location = url + '/'; 
    }); 
}); 
</script> 
+0

Ich denke, em Strich 'genannt wird -' – user4419336

Antwort

3

BEARBEITEN

Ihr $('#input-search').val() hält how-to-use-

Der Schrägstrich / auf window.location hinzugefügt.

So:
Dies entfernt das letzte Zeichen, wenn es ein "Strich" ist.
Verhindern der Entfernung, wenn es nicht ist ... Vielleicht kann passieren.
;)

$(function() { 
    $("#form-search").submit(function(e) { 
     e.preventDefault(); 
     str = $('#input-search').val(); 
     if(str.charAt(str.length-1) == "-"){ 
      str = str.substr(0, str.length-1) 
     } 
     url = "<?php echo base_url('questions/tagged/');?>" + str; 
     window.location = url + '/'; 
    }); 
}); 
1

Wie über diese Lösung. Ich hoffe es hilft!

var str = "/how-to-use-/"; 
 
var myString = str.slice(0, str.length - 2) + str.slice(str.length - 1); 
 
console.log(myString);

+0

Bei der Verwendung von' .slice () ', warum solltest du nicht' str.slice (0, -2) + str.slice (-1) 'sagen? – nnnnnn

2

Vielen Dank für all diejenigen Antworten hatte ich von @Louys Patrice Bessette Antwort ein paar Änderungen zu tun

<script type="text/javascript"> 
$(function() { 
    $("#form-search").submit(function(e) { 
     e.preventDefault(); 

     str = $('#input-search').val(); 

     // adds hyphens for string 
     var newstr = str.replace(/\s/g, "-"); 

     // Removes last hyphen from @Louys Patrice Bessette answer 
     if(newstr.charAt(newstr.length-1) == "-"){ 
      newstr = newstr.substr(0, newstr.length-1) 
     } 

     url = "<?php echo base_url('questions/tagged/');?>" + newstr; 
     window.location = url + '/'; 
    }); 
}); 
</script> 
+0

Froh meine Antwort geholfen. Ja ... ich habe ganz schnell geantwortet. Aber es hat dich auf Spuren gebracht;) Bitte akzeptiere deine eigene Antwort, um dies als gelöst zu markieren. –

+1

@LouysPatriceBessette Ich muss zwei Tage warten, um ihre eigene Antwort zu akzeptieren, nochmals danke – user4419336