मैं एक टेक्स्टबॉक्स को लागू करने की कोशिश कर रहा हूं जो कीबोर्ड पर एंटर दबाता है लेकिन फॉर्म को स्वचालित रूप से सबमिट नहीं करेगा। यह टेक्स्टबॉक्स एक फॉर्म के अंदर है:

@Html.TextBoxFor(model => model.ID, new { @class = "form-control 
input-sm", placeholder = "Enter Id", 
onkeypress = "return fncValidateMemberID(event);" })

यह जावास्क्रिप्ट कोड है:

 function fncValidateMemberID(e) {
       
        if (e.keyCode == 13) {
            //My AJAX logic here but I cannot get the text value I inputted on my textbox
            return false;
        }
        return true;
    }

मेरे जावास्क्रिप्ट कोड के साथ समस्या यह है कि मुझे टेक्स्ट वैल्यू नहीं मिल सकती है।

0
Willy David Jr 28 मार्च 2018, 18:51

2 जवाब

चूंकि आपने प्रश्न को jQuery के साथ टैग किया है, आप .val() विधि के साथ टेक्स्ट फ़ील्ड का मान प्राप्त कर सकते हैं, जैसा कि निम्न में है (ID को अपने टेक्स्टबॉक्स के clientID से बदलें):

var text = $("#ID").val();

या, jQuery के बिना (वेनिला जावास्क्रिप्ट):

var text = document.getElementById("ID").value;
1
Scott Marcus 28 मार्च 2018, 16:06

तत्व को अपने हैंडलर फ़ंक्शन में पास करें, और फिर आप इसका मान प्राप्त करने में सक्षम होंगे:

onkeypress = "return fncValidateMemberID(event, this);"


function fncValidateMemberID(e, textbox) {
    if (e.keyCode == 13) {
        var text = textbox.value;
        ...
1
Andrei 28 मार्च 2018, 15:58