2017-12-05 2 views
0

jQuery Wie setze ich Text in ein Eingabefeld und drücke Enter? Ich habe ein Eingabefeld, wenn ich Text manuell eingegeben habe, dann wird die Schaltfläche "Senden" aktiviert, aber wenn ich jQuery zur Eingabe von Text verwende, wird die Schaltfläche nicht aktiviert. Wie kann ich die Schaltfläche aktivieren? Ich benutze jQuery mit SeleniumjQuery Wie setze ich Text in ein Eingabefeld und drücke Enter?

Hier ist was ich suche verizonwireless.com/support/contact-us auf dieser Seite, wenn Sie etwas in Suchfeld eingeben, wird "X" angezeigt, aber wenn Sie mit JQuery eingeben es wird nicht. Also, wie werde ich das "X" erscheinen lassen, wenn ich jquery benutze, um den Text einzugeben? $ ('# vgn_q'). val ('iphone'). change(); Ich habe versucht, dieses aber kein Glück

+1

Teilen Sie, was Sie bisher versucht haben .. die entsprechende HTML und JS –

+0

Feuer das Änderungsereignis .... Wenn Sie Ihren Code zeigte, haben wahrscheinlich eine Antwort jetzt. Aber warum benutzt du Selen nicht, um die Formwerte zu ändern? – epascarello

+0

$ ('# phone'). Val ('123-123-1234') Damit wird der Wert auf das Bearbeitungsfeld gesetzt. Wenn ich den Wert manuell gebe, wird die Übergabetaste aktiviert, weil Sie tippen. Wenn ich Jquery benutze, tippe ich nicht wirklich, also wird der Submit Button nicht aktiviert. Wie führe ich ein Änderungs- oder Tipp-Szenario durch? – Knight

Antwort

0

wie diese

Schaltfläche Ändern Zustand etwas tun, wenn einen Wert in der Eingabe haben

var input = $("input"); 
var target = $("button"); 

input.on("change keyup",function(){ 
     if($(this).val() !== ''){ 
    target.prop("disabled",false); 
    }else{ 
    target.prop("disabled",true); 
    } 
}) 

jsfiddle: https://jsfiddle.net/synz/uxk87xjb/

0

Hier gehen Sie mit einer Lösung

$("input").on("change keyup",function(){ 
 
    if($(this).val() !== ''){ 
 
    $('button').prop("disabled",false); 
 
    }else{ 
 
    $('button').prop("disabled",true); 
 
    } 
 
}) 
 

 

 
//Setting the value using jQuery 
 
setTimeout(function(){ 
 
    $('input').val("test").change(); 
 
}, 2000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text"> 
 
<button disabled="disabled">submit</button>

Ich habe setTimeout verwendet, um den Wert des Eingabetextfeldes nach 2 Sekunden anzuzeigen.

Nachdem Sie den Wert des Eingabetextfeldes festgelegt haben, müssen Sie das Änderungsereignis auslösen.

Hoffe, das wird Ihnen helfen.

0

Überprüfen Sie die Länge nach dem eingestellten Wert im Textfeld und aktivieren Sie die Schaltfläche deaktivieren.

$('#phone').val('123-123-1234') 
 
if ($('#phone').val().length > 0) 
 
    $('#btnSubmit').removeAttr('disabled'); 
 
else 
 
    $('#btnSubmit').attr('disabled', 'disabled'); 
 
$('#phone').keyup(function() { 
 
    if ($(this).val() != '') { 
 
    $('#btnSubmit').removeAttr('disabled'); 
 
    } else { 
 
    $('#btnSubmit').attr('disabled', 'disabled'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id='phone' type='text'/> 
 
<input type='button' disabled='disabled' id='btnSubmit' value='Submit' />

+0

Ich habe keine Lösung gefunden, aber umgehen ist das Eingabefeld, dann entfernen Sie das deaktivierte Attribut von Button wie Shree erwähnt. – Knight

+0

Yap, das ist ein richtiger Weg, das zu tun. –

-1

ich war in der Lage, es zu tun mit dem Code folgen.

var e = jQuery.Event("keypress"); 
$('#vgn_q').val('iPhone').trigger(e); 
+0

Dies liefert keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/18197374) – Omi

Verwandte Themen