2017-11-20 3 views
0

Mit dem folgenden javascript Ich versuche, ein Ergebnis zu senden, sobald es ausgewählt ist, aber nichts passiert! Irgendwelche Ideen, warum das passiert?Javascript senden, wenn ausgewählt Ausgabe

<input name="search" id="search" class="search-query search_size" placeholder="Enter keyword to search" data-autocomplete-label="Sorry, nothing found." data-autocomplete="/items/autocomplete_item_title" type="search"> 

<script> 
$('#search').bind('railsAutocomplete.select', function(event, data){ 
    $('#search').submit(); 
    alert(data.item.id); 
}); 
</script> 

Update 1

Dies ist die Schienen bilden, ich versuche zu unterbreiten: form Element auf nur submit Funktion

<%= form_tag items_path, :method => "get", id: "search" do %> 
    <%= text_field_tag :search, params[:search], class: "search-query search_size", 
           placeholder: "Enter keyword to search", type: "search", 
           :"data-autocomplete-label" => "Sorry, nothing found.", 
           data: {autocomplete: autocomplete_item_title_items_path } %> 
    <%= submit_tag "Search", name: nil, :style => "display: none;" %> 
<%end%> 
+0

Was möchten Sie eigentlich tun? Daten auf einer bestimmten Seite veröffentlichen? – Tim

+0

@TIm ... es ist eine einfache Suchform in den Schienen. Ich möchte das Autocomplete-Ergebnis auswählen und es automatisch auswählen, sobald es ausgewählt ist! hoffe das hilft! – Theopap

Antwort

4

Sie können laufen oder auf input[type="submit"]. Deshalb passiert nichts.

Es kann nur an Elementen angebracht werden. Formulare können entweder durch Klicken auf ein explizites,, oder oder durch Drücken der Eingabetaste gesendet werden, wenn bestimmte Formularelemente den Fokus haben.

https://api.jquery.com/submit/#entry-longdesc

auf form:

function submit(event) { 
 
    alert('form submitted'); 
 
    e.preventDefault(); 
 
} 
 

 
$('#form').submit(() => { 
 
    console.log('form submitted'); 
 
    return false; 
 
}); 
 

 
$('#form').submit();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form"> 
 
    <button type="submit">Submit</button> 
 
</form>

auf input:

function submit(event) { 
 
    alert('form submitted'); 
 
    e.preventDefault(); 
 
} 
 

 
$('#form').submit(() => { 
 
    console.log('form submitted'); 
 
    return false; 
 
}); 
 

 
$('button').submit();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="form"> 
 
    <button type="submit">Submit</button> 
 
</form>

+0

Danke für die heads up @Mosh Feu! Gibt es einen Weg dahin? Ich möchte mich zur Suche anmelden, wenn ein Autocomplete-Ergebnis ausgewählt wurde! – Theopap

+0

Haben Sie eine 'Form', dass die' Eingabe' drin ist? –

+0

ja bitte sehen update1 auf meine Frage. – Theopap

Verwandte Themen