පෙළ කොටුවක Enter යතුර මත ජාවාස්ක්‍රිප්ට් සමඟ බොත්තමක් ක්ලික් කරන්න


1299

මට එක් පෙළ ආදානයක් සහ එක් බොත්තමක් ඇත (පහත බලන්න). පෙළ කොටුව තුළ යතුර එබූ විට බොත්තම ක්ලික් කිරීමේ සිදුවීම ක්‍රියාත්මක කිරීමට ජාවාස්ක්‍රිප්ට් භාවිතා කරන්නේ කෙසේද Enter?

මගේ වත්මන් පිටුවේ දැනටමත් වෙනස් ඉදිරිපත් කිරීමේ බොත්තමක් ඇත, එබැවින් මට බොත්තම ඉදිරිපත් කිරීමේ බොත්තමක් බවට පත් කළ නොහැක. හා, මම පමණක් අවශ්ය වන්නේ Enterමෙම විශේෂ බොත්තම ක්ලික් කරන්න එය මේ එක පෙළ කොටුව, වෙන කිසිවක් තුළ සිට තද නම් යතුර.

<input type="text" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

1
මා වැනි රූකිවරුන් සඳහා වැදගත් සටහන: මෙම ප්‍රශ්නයේ ප්‍රධාන කොටස නම් ඔබට දැනටමත් පිටුවේ පෝරමයක් තිබේ නම් දැනටමත් ඉදිරිපත් කිරීමේ බොත්තමක් තිබේ. JQuery පිළිතුර හරස් බ්‍රව්සරයට අනුකූල වන අතර හොඳ විසඳුමක් වේ.
ජෝෂුවා නැටුම

2
Os ජෝෂුවාඩන්ස්, දැනටමත් පෝරමයක් / ඉදිරිපත් කිරීමක් කරදරයක් නොවේ. පිටුවකට බොහෝ ආකාර තිබිය හැකිය (නමුත් කැදැලි නොවේ), සෑම එකක්ම තමන්ගේම ඉදිරිපත් කිරීම් ඇත. එක් එක් පෝරමයේ සෑම ක්ෂේත්‍රයක්ම එම පෝරමය ඉදිරිපත් කිරීම පමණක් අවුලුවනු ඇත. මෙම පිළිතුරෙන් සඳහන් කළ පරිදි .
ෆ්‍රෙඩ්රික්

Answers:


1429

JQuery හි, පහත සඳහන් දෑ ක්‍රියාත්මක වේ:

$("#id_of_textbox").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#id_of_button").click();
    }
});

$("#pw").keyup(function(event) {
    if (event.keyCode === 13) {
        $("#myButton").click();
    }
});

$("#myButton").click(function() {
  alert("Button code executed.");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton">Submit</button>

නැතහොත් සරල ජාවාස්ක්‍රිප්ට් හි පහත සඳහන් දෑ ක්‍රියාත්මක වනු ඇත:

document.getElementById("id_of_textbox")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("id_of_button").click();
    }
});

document.getElementById("pw")
    .addEventListener("keyup", function(event) {
    event.preventDefault();
    if (event.keyCode === 13) {
        document.getElementById("myButton").click();
    }
});

function buttonCode()
{
  alert("Button code executed.");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Username:<input id="username" type="text"><br>
Password:&nbsp;<input id="pw" type="password"><br>
<button id="myButton" onclick="buttonCode()">Submit</button>


12
මෙය දැක බොහෝ විට event.keyCode හෝ event.charCode වඩා විමසුම් event.which කිරීමට වඩා හොඳ ක්රමයක් වන්නේ developer.mozilla.org/en/DOM/event.charCode#Notes
විලියම් NIU

25
keydownනෑ keyupභාවිතා කිරීමට වඩා හොඳ සිදුවීමකි. එසේම, ඔබ asp.net භාවිතා කරන්නේ නම්, return falseasp.net තවමත් සිදුවීමට බාධා කිරීමෙන් වළක්වා ගත යුතුය.
maxp

144
භාවිතා කිරීමේ ගැටලුව keydownනම් ඇතුල්වීම රඳවා තබා ගැනීම සිදුවීම නැවත නැවතත් ගිනි තබයි. ඔබ keyupසිදුවීමට ඇමිණුවහොත්, එය ක්‍රියාත්මක වන්නේ යතුර මුදා හැරීමෙන් පසුව පමණි.
ස්ටීව් පවුලෝ

26
මගේ පිටුවට පෝරමයක් ඇති අතර ක්‍රියාකාරීත්වය event.preventDefault();ඇරඹීමට පෙර මම ඔබේ කේතය එකතු click();කර ඇති අතර එය මා වෙනුවෙන් වැඩ කරන එකම හසුරුවන්නා බැවින් මම මාරු keyupවී ඇත්තෙමි keypress, කෙසේ වෙතත්, පිළිවෙලට ඇති කේත කැබැල්ලට ස්තූතියි!
ඒඩ්‍රියන් කේ.

9
ඇත්තම කිව්වොත්, මෙම පිළිතුර පළ කරන විට jQuery ජේඑස් සමඟ බොහෝ දුරට සමාන විය. නමුත් දැන් jQuery මුළුමනින්ම මග හරින අපගෙන් බොහෝ දෙනෙක් (ඔබ ප්‍රතික්‍රියා වැනි දෙයක් භාවිතා කරන විට එය kb නාස්තියක් පමණක් වන නිසා) අපි JS ප්‍රශ්න වලට පිළිතුරු සොයන විට කෝපයට පත්වන අතර බොහෝ විට පළමුවෙන්ම පැමිණෙන්නේ අප පුස්තකාලයක් නොවේ යැපීමට අවශ්‍ය නැත.
ඇන්ඩි

406

ඉන්පසු එය කේත කරන්න!

<input type = "text"
       id = "txtSearch" 
       onkeydown = "if (event.keyCode == 13)
                        document.getElementById('btnSearch').click()"    
/>

<input type = "button"
       id = "btnSearch"
       value = "Search"
       onclick = "doSomething();"
/>

5
ඔව්, මම එය බොහෝ දුරට කළා. මම හිතන්නේ එය පුද්ගලික මනාපයක් පමණයි ... මම වඩාත් මොඩියුලර් ප්‍රවේශයට කැමතියි. ;)
kdenney

9
ඔබට පෝරමය ඉදිරිපත් කිරීම නැවැත්වීමට අවශ්‍ය නම්: onkeydown = "if (event.keyCode == 13) {document.getElementById ('btnSubmit') ක්ලික් කරන්න (); event.returnValue = false; event.cancel = true;}"
ගේබ්‍රියෙල් චුන්

3
මෙය මට වැඩ කළේ ඉන්ලයින් ක්‍රමය, එහි සමාන කේතයක් සහිත ක්‍රියාකාරීත්වය ඇමතීම වෙනුවට, ඇමතුම මත සාවද්‍ය ලෙස ආපසු පැමිණීමට සහ පසුබැසීමෙන් වැළකී සිටීමට ඉඩ සලසන බැවිනි. මගේ නඩුවේදී "ක්ලික්" ක්‍රමය __doPostback අසින්ක් ඇමතුමක් ඉල්ලා සිටින අතර "අසත්‍යය ආපසු එවීම" නොමැතිව; පිටුව නැවත පූරණය කරයි.
ඩේව්

3
මම සෑම් සමඟ එකඟ වෙමි, මෙම පේළියේ ජේඑස් කේතය සමඟ මෙම කේතය අපායක් සේ කැතයි. ඔබ සැමවිටම HTML සහ JavaScript කේත වෙන් කළ යුතුය.
Sk8erPeter

9
@Sam ඔබගේ ලබා කවදාවත් රූකඩ ප්රඥාව . වේදනාව භීතියට මඟ පෙන්වන අතර බිය යනු මනස ler ාතකයාය. භීතිය යනු මුලුමනින්ම අතුගා දැමූ කුඩා මරණයයි. මම මගේ බියට මුහුණ දෙමි. මා හා මා හරහා යාමට එය ඉඩ දෙන්නෙමි. එය පසු වූ පසු එහි මාවත බැලීමට මම අභ්‍යන්තර ඇස හරවන්නෙමි. බිය පහව ගිය තැන කිසිවක් නැත. පේළිගත සිදුවීම් හසුරුවන්නන් හැර. ඉතින්, ඔව්, කරුණාකර මෙම පිළිතුර මෙන් ඔබේ සිදුවීම් හසුරුවන්නන් ඔබගේ දර්ශනයෙන් / සලකුණු කිරීමෙන් වෙන් කරන්න . ; ^)
17:51

180

මෙය හඳුනාගෙන ඇත:

<input type="text" id="txtSearch" onkeypress="return searchKeyPress(event);" />
<input type="button" id="btnSearch" Value="Search" onclick="doSomething();" />

<script>
function searchKeyPress(e)
{
    // look for window.event in case event isn't passed in
    e = e || window.event;
    if (e.keyCode == 13)
    {
        document.getElementById('btnSearch').click();
        return false;
    }
    return true;
}
</script>

22
e = e || window.event; // සිදුවීම ලබා ගැනීමට කෙටිම ක්‍රමය
වික්ටර්

2
හොඳම සරල ජාවාස්ක්‍රිප්ට් විකල්පය. HTML හි ගුණාංගයක් ලෙස ජාවාස්ක්‍රිප්ට් එක් කිරීම අවකාශය පරිභෝජනය කරන අතර jQuery යනු jQuery පමණි (අනුකූලතාව සහතික නොවේ). විසඳුමට ස්තූතියි!
බොක්ස්පා

if තුළ ඔබ සාවද්‍ය ලෙස ආපසු එවන්නේ නම්, යතුර තවදුරටත් සැකසීමෙන් වළක්වා ගත හැකිය: <ආදාන වර්ගය = "පෙළ" id = "txtSearch" onkeypress = "searchKeyPress (සිද්ධිය);" /> <ආදාන වර්ගය = "බොත්තම" id = "btnSearch" අගය = "සෙවීම" onclick = "doSomething ();" /> <script> ශ්‍රිතය සෙවුම් කේප්‍රෙස් (ඉ) window // කවුළුව සොයන්න. සිදුවීම e = e හි සම්මත නොවන්නේ නම් | window.event; if (e.keyCode == 13) {document.getElementById ('btnSearch') ක්ලික් කරන්න (); බොරු ආපසු එවන්න; true නැවත පැමිණීම; } </script>
ජෝස් ගෝමස්

83

බොත්තම ඉදිරිපත් කිරීමේ අංගයක් බවට පත් කරන්න, එවිට එය ස්වයංක්‍රීය වනු ඇත.

<input type = "submit"
       id = "btnSearch"
       value = "Search"
       onclick = "return doSomething();"
/>

<form>මෙම කාර්යය කිරීමට ඔබට ආදාන ක්ෂේත්‍ර අඩංගු අංගයක් අවශ්‍ය බව සලකන්න (ස්තූතියි සර්ජි ඉලින්ස්කි).

සම්මත හැසිරීම නැවත අර්ථ දැක්වීම හොඳ පුරුද්දක් නොවේ, Enterයතුර සෑම විටම පෝරමයක ඉදිරිපත් කිරීමේ බොත්තම අමතන්න.


30
මචන්! ඔහුගේ සම්පූර්ණ ප්‍රශ්නය කියවන්න. පිටුවේ දැනටමත් තවත් ඉදිරිපත් කිරීමේ බොත්තමක් ඇත, එබැවින් මෙය ඔහුට වැඩ නොකරනු ඇත.
skybondsor

5
විනෝදජනක කාරණය, මම මෑතකදී මෙය ෂෙයාර්පොයින්ට් හි කිරීමට උත්සාහ කළෙමි. කෙසේ වෙතත්, ෂෙයාර්පොයින්ට් හි දැනටමත් ඔබගේ සියලුම අන්තර්ගතයන් ආවරණය වන ආකාරයක් ඇති අතර ඕනෑම <form>ටැගයක් වෙනත් ආකාරයකින් ලිබරල් HTML විග්‍රහකය මඟින් ඉවත දමනු ලැබේ. ඒ නිසා මට යතුරු එබීම හෝ කඩාවැටීම සිදු කළ යුතුයි. (BTW, SharePoint දී ඇතුලත් කරන්න එබීමෙන් යම් හේතුවක් නිසා සංස්කරණය කරන්න මාදිලිය දියත් මම පීත්ත පටිය ඒ ආකාරයෙන් ම භාවිතා අනුමාන..)

1
සඳහා <button type="submit" onclick="return doSomething(this)">Value</button>වැඩක්. තුළ වු ඉඟියක් බොරු returnඉඟි පද
ගස් ගේ

77

කිසිවෙකු addEventListenerතවම භාවිතා කර නැති නිසා, මෙන්න මගේ අනුවාදය. මූලද්රව්ය ලබා දී ඇත:

<input type = "text" id = "txt" />
<input type = "button" id = "go" />

මම පහත සඳහන් දෑ භාවිතා කරමි:

var go = document.getElementById("go");
var txt = document.getElementById("txt");

txt.addEventListener("keypress", function(event) {
    event.preventDefault();
    if (event.keyCode == 13)
        go.click();
});

HTML පිරිසිදුව තබා ගනිමින් සිදුවීම් වර්ගය සහ ක්‍රියාව වෙන වෙනම වෙනස් කිරීමට මෙය ඔබට ඉඩ සලසයි.

මෙය පිටත ඇති බවට වග බලා ගැනීම වටී යැයි සලකන්න,<form> මන්ද මම මෙම මූලද්‍රව්‍යයන් ඒවා තුළට කොටු කළ විට Enter එබීමෙන් පෝරමය ඉදිරිපත් කර පිටුව නැවත පූරණය විය. සොයා ගැනීමට බ්ලින්ක් කිහිපයක් මා වෙත ගෙන ගියේය.

දරන පරිපූරකයේ : @ruffin විසින් අදහස් දක්වා ස්තූතියි, මම අතුරුදහන් අවස්ථාවට හසුරුවන්නා හා එකතු කරලා තියනවා preventDefault(අනුමාන) මෙන්ම ආකෘතිය තුල වැඩ කිරීමට මෙම කේතය ඉඩ. (මම මෙය පරීක්ෂා කිරීමට යොමු වෙමි, එම අවස්ථාවේදී මම වරහන් අන්තර්ගතය ඉවත් කරමි.)


14
JQeuery පිළිතුරට වැඩි දියුණුවක් ඇත්තේ මන්දැයි මට තේරෙන්නේ නැත. වෙබ් අඩවි සංවර්ධන ප්‍රජාව වෙනුවෙන් මම අ cry නවා.
ඩේවිඩ්

1
ඔබට ඇත්තටම මග e.preventDefault()හැරී ඇත්තේ ඔබගේ යතුරුපුවරු හසුරුවන්නාගේ තර්කයක් සහ එය ආකෘති සමඟ වැඩ කිරීම සඳහා ය. බලන්න මගේ (නව) පිළිතුර .
රෆින්

5
ඔබේ පරිශීලකයින් කිසියම් දත්තයක් ඇතුලත් කිරීමට අදහස් නොකරන්නේ නම්, ඔබ සැබවින්ම කළ යුත්තේif (event.keyCode == 13) { event.preventDefault(); go.click();}
සමමුහුර්ත නොකළ

1
මෙම කුඩා දෙය සඳහා jQuery භාවිතා කිරීම නිසැකවම නිෂ් .ල ය. එය සීඑස්පී සමඟ ඉතා පහසුවෙන් ක්‍රියා කරන අතර පැටවීමට අඩු කාලයක් ගතවේ. ඔබට හැකි නම්, මෙය භාවිතා කරන්න.
අවාමන්ඩර්

59

සරල ජාවාස්ක්‍රිප්ට් හි,

if (document.layers) {
  document.captureEvents(Event.KEYDOWN);
}

document.onkeydown = function (evt) {
  var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
  if (keyCode == 13) {
    // For Enter.
    // Your function here.
  }
  if (keyCode == 27) {
    // For Escape.
    // Your function here.
  } else {
    return true;
  }
};

පිළිතුර ලබා දී ඇත්තේ jQuery වලින් පමණක් බව මම දුටුවෙමි, එබැවින් සරල ජාවාස්ක්‍රිප්ට් වලින් යමක් ලබා දීමට මම සිතුවෙමි.


20
document.layers? ඔබ තවමත් නෙට්ස්කේප් සඳහා සහය දක්වනවාද? !!
වික්ටර්

6
ඔබට නෙට්ස්කේප් සඳහා සහාය වීමට අවශ්‍ය නැත. blog.netscape.com/2007/12/28/…
kingdango

7
netscape.com තවදුරටත් නොපවතී (එය aol.com වෙත හරවා යවයි) එහෙත් තවමත් නෙස්කේප් සඳහා සහය දක්වන පුද්ගලයින් පුදුම සහගතය.
LeartS

6
evt.which ? evt.which : evt.keyCodeසමාන වේevt.which || evt.keyCode
පරිශීලකයා

3
ELeartS මම ඔට්ටු අල්ලන්නේ නෙට්ස්කේප් භාවිතා කරන පුද්ගලයින් තවමත් සිටින බැවිනි .
සැන්ටිබයිලර්ස්

23

මම සම්පූර්ණයෙන් සඳහන් කර නැති මේ සඳහා ඔබට භාවිතා කළ හැකි එක් මූලික උපක්‍රමයක්. ඔබට අජැක්ස් ක්‍රියාවක් කිරීමට හෝ එන්ටර් හි වෙනත් වැඩක් කිරීමට අවශ්‍ය නමුත් ඇත්ත වශයෙන්ම පෝරමයක් ඉදිරිපත් කිරීමට අවශ්‍ය නැතිනම් ඔබට මෙය කළ හැකිය:

<form onsubmit="Search();" action="javascript:void(0);">
    <input type="text" id="searchCriteria" placeholder="Search Criteria"/>
    <input type="button" onclick="Search();" value="Search" id="searchBtn"/>
</form>

ක්‍රියාව සැකසීම = "javascript: void (0);" පෙරනිම හැසිරීම වැළැක්වීම සඳහා මෙය කෙටිමඟකි. මෙම අවස්ථාවෙහිදී ඔබ එන්ටර් එබුවද නැතහොත් බොත්තම ක්ලික් කළද යන්න ක්‍රමයක් ලෙස හැඳින්වෙන අතර සමහර දත්ත පැටවීම සඳහා අජැක්ස් ඇමතුමක් ලබා දේ.


ජංගම උපාංග සහාය සඳහා මෙය වඩා හොඳ විසඳුමකි. ඔබ එකතු නම් එය ස්වයංක්රීයව Android උපාංග, ද, iOS මත යතුරු පුවරුව වැහෙන searchCriteria.blur();වෙත onsubmit.
ආරොන් ගිලියන්

පිටුවේ දැනටමත් තවත් ඉදිරිපත් කිරීමේ බොත්තමක් ඇති බැවින් මෙය ක්‍රියා නොකරනු ඇත.
ජෝස් ගෝමස්

@ ජෝස්ගමේස්, පිටුවකට දේව් කැමති පරිදි බොත්තම් ඉදිරිපත් කළ හැකි අතර ඒවා අවුලුවනු ලබන්නේ ඒවායේ අනුරූප ක්ෂේත්‍ර වලින් පමණි. ඒ සඳහා අවශ්‍ය වන්නේ එක් එක් ක්ෂේත්‍ර සමූහයට / ඉදිරිපත් කිරීමට වෙනස් ආකෘති තිබීම පමණි. පිටුවක් තනි පෝරමයකට සීමා නොවේ.
ෆ්‍රෙඩ්රික්

Red ෆ්‍රෙඩ්රික්: අනෙක් ඉදිරිපත් කිරීමේ බොත්තම එකම ස්වරූපයෙන් ඇති බව මම (වැරදියට?) තේරුම් ගත් ප්‍රශ්නයෙන්: "මගේ වර්තමාන පිටුවේ දැනටමත් වෙනස් ඉදිරිපත් කිරීමේ බොත්තමක් තිබේ, එබැවින් මට බොත්තම ඉදිරිපත් කිරීමේ බොත්තමක් බවට පත් කළ නොහැක."
ජෝස් ගෝමස්

1
අභිරුචි ක්‍රියාවන්ට ඉඩ දී ඇති නමුත් විසිතුරු පෙරළීමේ කේත සමූහයක අවශ්‍යතාවය මගහරින බැවින් මෙය හොඳ පිළිතුරකි.
බීජෝර්

16

උත්සහ කරන්න:

<input type="text" id="txtSearch"/>
<input type="button" id="btnSearch" Value="Search"/>

<script>             
   window.onload = function() {
     document.getElementById('txtSearch').onkeypress = function searchKeyPress(event) {
        if (event.keyCode == 13) {
            document.getElementById('btnSearch').click();
        }
    };

    document.getElementById('btnSearch').onclick =doSomething;
}
</script>

15

ඇතුළත් කිරීමේ යතුර එබූ සෑම අවස්ථාවකම සෙවුමක් ආරම්භ කිරීමට, මෙය භාවිතා කරන්න:

$(document).keypress(function(event) {
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == '13') {
        $('#btnSearch').click();
    }
}

14
onkeydown="javascript:if (event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('btnSearch').click();}};"

මෙය තරමක් මෑත කාලීන ව්‍යාපෘතියකින් මා සතුව ඇති දෙයක් පමණි ... මම එය ජාලයෙන් සොයාගත්තෙමි, වඩා හොඳ ක්‍රමයක් තිබේද නැතිනම් සරල පැරණි ජාවාස්ක්‍රිප්ට් වල තිබේද යන්න ගැන මට කිසිම අදහසක් නැත.



13

කෙසේ වෙතත්, මට හොඳටම විශ්වාසයි පෝරමයේ එක් ක්ෂේත්‍රයක් සහ එක් ඉදිරිපත් කිරීමේ බොත්තමක් ඇති තාක් කල්, පිටුවේ වෙනත් පෝරමයක් තිබුණද, එන්ටර් එබීමෙන් පෝරමය ඉදිරිපත් කළ යුතුය.

එවිට ඔබට js සමඟ onsubmit පෝරමය ග්‍රහණය කර ඔබට අවශ්‍ය ඕනෑම වලංගු කිරීමක් හෝ ඇමතුම් ලබා ගත හැකිය.


13

ටික වේලාවකින් ලබා ගත හැකි html attibute "accesskey" කිසිවෙකු දුටුවේ නැත.

මෙය යතුරුපුවරු කෙටිමං දේවල් සඳහා ජාවාස්ක්‍රිප්ට් ක්‍රමයක් නොවේ.

accesskey_browers

එම්ඩීඑන් හි කෙටිමං වලට ප්‍රවේශවීමේ ගුණාංග ආරෝපණය කරයි

මේ ආකාරයට භාවිතා කිරීමට අදහස් කර ඇත. Html ගුණාංගය ප්‍රමාණවත්ය, කෙසේ වෙතත් අපට බ්‍රව්සරය සහ OS මත පදනම්ව ස්ථාන දරන්නා හෝ වෙනත් දර්ශකයක් වෙනස් කළ හැකිය. පිටපත යනු අදහසක් ලබා දීම සඳහා පරීක්ෂා නොකළ සීරීම් ප්‍රවේශයකි. කුඩා බවුසරය වැනි බ්‍රව්සර් පුස්තකාල අනාවරකයක් භාවිතා කිරීමට ඔබට අවශ්‍ය විය හැකිය

let client = navigator.userAgent.toLowerCase(),
    isLinux = client.indexOf("linux") > -1,
    isWin = client.indexOf("windows") > -1,
    isMac = client.indexOf("apple") > -1,
    isFirefox = client.indexOf("firefox") > -1,
    isWebkit = client.indexOf("webkit") > -1,
    isOpera = client.indexOf("opera") > -1,
    input = document.getElementById('guestInput');

if(isFirefox) {
   input.setAttribute("placeholder", "ALT+SHIFT+Z");
} else if (isWin) {
   input.setAttribute("placeholder", "ALT+Z");
} else if (isMac) {
  input.setAttribute("placeholder", "CTRL+ALT+Z");
} else if (isOpera) {
  input.setAttribute("placeholder", "SHIFT+ESCAPE->Z");
} else {'Point me to operate...'}
<input type="text" id="guestInput" accesskey="z" placeholder="Acces shortcut:"></input>


1
ප්‍රවේශයට දෙකක් sතිබේ.
කයිසර්

3
යතුර = ENTER
ඕසාන් බෙලික්

12

මෙය සියලු දෙනාටම විසඳුමකි යූඅයිපිටත සිටින පෙම්වතුන් :

Y.on('keydown', function() {
  if(event.keyCode == 13){
    Y.one("#id_of_button").simulate("click");
  }
}, '#id_of_textbox');

මෙම විශේෂ අවස්ථාවෙහිදී, බොත්තම් ක්‍රියාකාරිත්වයට එන්නත් කර ඇති DOM වස්තු අවුලුවාලීම සඳහා YUI භාවිතා කිරීමෙන් වඩා හොඳ ප්‍රති results ල මට ලැබුණි - නමුත් මෙය තවත් කතාවකි ...


12

දී Angular2 :

(keyup.enter)="doSomething()"

ඔබට බොත්තමෙහි දෘශ්‍ය ප්‍රතිපෝෂණ අවශ්‍ය නොවන්නේ නම්, බොත්තම යොමු නොකොට පාලකය වෙත කෙලින්ම ආයාචනා කිරීම හොඳ සැලසුමකි.

එසේම, හැඳුනුම්පත අවශ්‍ය නොවේ - දර්ශනය සහ ආකෘතිය අතර වෙන්වීමේ තවත් NG2 ක්‍රමයක්.


1
යතුරු විකල්ප පිළිබඳ වැඩිදුර තොරතුරු පිළිබඳ ප්‍රශ්නයක් මෙන්න: stackoverflow.com/q/32155887/435605
AlikElzin-kilaka

10

ඔබට අවශ්‍ය මෙම අවස්ථාවෙහිදී පෝස්ට් සිට සර්වරය දක්වා ඇතුල් කිරීමේ බොත්තම ක්‍රියාත්මක කර Js ස්ක්‍රිප්ට් ක්‍රියාත්මක කරන්න.

<input type="text" id="txtSearch" onkeydown="if (event.keyCode == 13)
 {document.getElementById('btnSearch').click(); return false;}"/>
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

9

මෙම හුවමාරු කිරීමේ උත්සාහය ආසන්න නමුත් බ්‍රව්සරය සම්බන්ධයෙන් වැරදි ලෙස හැසිරෙන්නේ (සෆාරි 4.0.5 සහ ෆයර්ෆොක්ස් 3.6.3 මත), එබැවින් අවසානයේ මම එය නිර්දේශ නොකරමි.

<input type="text" id="txtSearch" onchange="doSomething();" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

එය අවධානය යොමු නොකිරීමට හේතු වන බව ද සඳහන් කළ යුතුය.
FluorescentGreen5

8
event.returnValue = false

සිදුවීම හැසිරවීමේදී හෝ ඔබගේ සිදුවීම් හසුරුවන්නා ඇමතීමේදී එය භාවිතා කරන්න.

එය අවම වශයෙන් ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් සහ ඔපෙරා වල ක්‍රියා කරයි.


8

Jquery ජංගම දුරකථන සඳහා මට කළ යුතුව තිබුණි

$('#id_of_textbox').live("keyup", function(event) {
    if(event.keyCode == '13'){
    $('#id_of_button').click();
    }
});

2
.livejQuery 1.7 හි ඉවත් කර ඇත. JQuery ජංගම දුරකථනයේ එය තවමත් හරි යැයි සලකනවාද?
බාර්මාර්

8

අමතා බව සම්පූර්ණයෙන්ම සරල JavaScript විසඳුමක් එක් කිරීමට ආකෘති පත්රය ඉදිරිපත් කිරීම සමග icedwater විසින් නිකුත් කරන @ , මෙහි සම්පූර්ණ විසඳුමක් තියෙන්නේ සමගform .

සටහන: මෙය IE9 + ද ඇතුළුව “නවීන බ්‍රව්සර්” සඳහා ය. IE8 අනුවාදය වඩා සංකීර්ණ නොවන අතර මෙහි ඉගෙන ගත හැකිය .


ෆෙඩල්: https://jsfiddle.net/rufwork/gm6h25th/1/

HTML

<body>
    <form>
        <input type="text" id="txt" />
        <input type="button" id="go" value="Click Me!" />
        <div id="outige"></div>
    </form>
</body>

ජාවාස්ක්‍රිප්ට්

// The document.addEventListener replicates $(document).ready() for
// modern browsers (including IE9+), and is slightly more robust than `onload`.
// More here: https://stackoverflow.com/a/21814964/1028230
document.addEventListener("DOMContentLoaded", function() {
    var go = document.getElementById("go"),
        txt = document.getElementById("txt"),
        outige = document.getElementById("outige");

    // Note that jQuery handles "empty" selections "for free".
    // Since we're plain JavaScripting it, we need to make sure this DOM exists first.
    if (txt && go)    {
        txt.addEventListener("keypress", function (e) {
            if (event.keyCode === 13)   {
                go.click();
                e.preventDefault(); // <<< Most important missing piece from icedwater
            }
        });

        go.addEventListener("click", function () {
            if (outige) {
                outige.innerHTML += "Clicked!<br />";
            }
        });
    }
});

1
පැහැදිලි කිරීම් නොමැතිව පහත් කොට සැලකීම ඔබගේ ගැටළු විසඳීම දුෂ්කර කරයි. හරි යැයි නොපෙනෙන දේ මට දන්වන්න, පසු විපරම් කිරීමට මම සතුටු වෙමි.
රෆින්

7

නූතන, අවතක්සේරු නොකළ (නැතිව keyCodeහෝ නැති onkeydown) ජාවාස්ක්‍රිප්ට්:

<input onkeypress="if(event.key == 'Enter') {console.log('Test')}">

මෙය මගේ අදහස නම් කාර්යය කරන සරලම පිළිතුරයි. මගේ භාවිතයේ දී, මම එය onkeypress = "inputKeyPressed (event)" වෙත උත්ශ්‍රේණිගත කර පසුව event.wh පරාමිතිය හසුරුවන්නේ ශ්‍රිතයේම ය. උදාහරණයක් ලෙස යතුර ඇතුලත් කරන්න. සිද්ධිය 13 ලෙස යවයි.
ak93

5
document.onkeypress = function (e) {
 e = e || window.event;
 var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
 if (charCode == 13) {

        // Do something here
        printResult();
    }
};

මෙන්න මගේ ශත දෙක. මම වින්ඩෝස් 8 සඳහා යෙදුමක වැඩ කරමින් සිටින අතර මම එන්ටර් බොත්තම එබූ විට බොත්තම ක්ලික් කිරීමේ සිදුවීමක් ලියාපදිංචි කිරීමට අවශ්‍යය. මම මෙය ජේ.එස්. මම යෝජනා කිහිපයක් උත්සාහ කළ නමුත් ගැටළු ඇති විය. මෙය හොඳින් ක්‍රියාත්මක වේ.


සිදුවීම් හසුරුවන්නා ලේඛනයේ තැබීම සඳහා අතිරික්ත වර්ග කිරීම. ඔබට charCodeවෙනත් තැනක 13 ක් තිබුනේ නම් , ඔබ වෙඩි තබයි printResult().
රෆින්

5

JQuery සමඟ එය කිරීමට:

$("#txtSearch").on("keyup", function (event) {
    if (event.keyCode==13) {
        $("#btnSearch").get(0).click();
    }
});

සාමාන්‍ය ජාවාස්ක්‍රිප්ට් සමඟ එය කිරීමට:

document.getElementById("txtSearch").addEventListener("keyup", function (event) {
    if (event.keyCode==13) { 
        document.getElementById("#btnSearch").click();
    }
});

5

සංක්ෂිප්ත හා නවීන ජේඑස් ප්‍රවේශයට කැමති අය සඳහා.

input.addEventListener('keydown', (e) => {if (e.keyCode == 13) doSomething()});

එහිදී ආදාන ඔබගේ ආදාන අංගයක් අඩංගු විචල්යයක් නම් වේ.


1

නවීන JS keyCodeඅතහැර දමා ඇති නිසා, keyඒ වෙනුවට භාවිතා කරන්න

searchInput.onkeyup = function (e) {
    if (e.key === 'Enter') {
        searchBtn.click();
    }
}

0

JQuery හි, ඔබට භාවිතා කළ හැකිය event.which==13. ඔබට එය තිබේ නම් form, ඔබට භාවිතා කළ හැකිය $('#formid').submit()(නිවැරදි පෝරම ඉදිරිපත් කිරීමට නිවැරදි සිදුවීම් සවන්දෙන්නන් සමඟ).

$('#textfield').keyup(function(event){
   if(event.which==13){
       $('#submit').click();
   }
});
$('#submit').click(function(e){
   if($('#textfield').val().trim().length){
      alert("Submitted!");
   } else {
    alert("Field can not be empty!");
   }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="textfield">
Enter Text:</label>
<input id="textfield" type="text">
<button id="submit">
Submit
</button>


0

පංතිය එකතු කිරීමෙන් මෙම අංගය සාක්ෂාත් කර ගැනීම සඳහා මම අභිරුචි ජාවාස්ක්‍රිප්ට් නිර්මාණය කර ඇත්තෙමි

උදාහරණයක්: <button type="button" class="ctrl-p">Custom Print</button>

මෙන්න එය පරීක්ෂා කරන්න ෆිදෙල්
- හෝ -
ධාවන උදාහරණය බලන්න https://stackoverflow.com/a/58010042/6631280

සටහන: වත්මන් තර්කනය මත, ඔබ Ctrl+ ඔබන්නEnter


0

කෙටි වැඩ කරන පිරිසිදු ජේ.එස්

txtSearch.onkeydown= e => (e.key=="Enter") ? btnSearch.click() : 1


-4

මෙය හොඳ ජාවාස්ක්‍රිප්ට් ශ්‍රිතයක් සඳහාද උපකාරී වේ.

<script type="text/javascript">
function blank(a) { if(a.value == a.defaultValue) a.value = ""; }

function unblank(a) { if(a.value == "") a.value = a.defaultValue; }
</script> 
<input type="text" value="email goes here" onfocus="blank(this)" onblur="unblank(this)" />

මෙම ප්‍රශ්නය විසඳා ඇති බව මම දනිමි, නමුත් මම යමක් සොයාගත්තෙමි, එය අන් අයට ප්‍රයෝජනවත් විය හැකිය.


5
ප්‍රශ්නය වූයේ පෙළ කොටුවක ඇතුළත් කිරීමේ යතුර සමඟ බොත්තමක් ක්ලික් කිරීමයි. ඔබේ විසඳුම "දිය සලකුණ" වර්ගයේ ක්‍රියාකාරිත්වය සඳහා ය.
kdenney
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.