现在我有一个搜索字段,旁边有一个提交搜索按钮。 但是要删除按钮,以便用户可以按Enter键。我需要更改什么?
<%= form_tag search_path, method: :get do %>
<div class="row">
<div class="col-md-5">
<%= text_field_tag :search, params[:search], placeholder: "z.B. New York", class: "suchfeld", id: "autolocation" %>
</div>
<div class="row">
<div class="col-md-2">
<%= submit_tag "Search", class: "btn btn-normal btn-block" %>
</div>
</div>
</div>
<br/><br/>
<% end %>
答案 0 :(得分:1)
可以使用jquery或javascript
完成1->为表单和输入字段提供唯一的ID,该ID将在按回车键时提交
List<PathInfo> pathInfos = new List<PathInfo>();
HttpHelper.GetAllFilePathAndSubDirectory("http://localhost:33333/", pathInfos);
HttpHelper.PrintAllPathInfo(pathInfos);
2->使用jQuery检查是否按下了输入按钮,然后提交此表单
public static class HttpHelper
{
public static string ReadHtmlContentFromUrl(string url)
{
string html = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
html = reader.ReadToEnd();
}
//Console.WriteLine(html);
return html;
}
public static void GetAllFilePathAndSubDirectory(string baseUrl, List<PathInfo> pathInfos)
{
Uri baseUri = new Uri( baseUrl.TrimEnd('/') );
string rootUrl = baseUri.GetLeftPart(UriPartial.Authority);
Regex regexFile = new Regex("[0-9] <a href=\"(http:)?(?<file>.*?)\"", RegexOptions.IgnoreCase);
Regex regexDir = new Regex("dir.*?<a href=\"(http:)?(?<dir>.*?)\"", RegexOptions.IgnoreCase);
string html = ReadHtmlContentFromUrl(baseUrl);
//Files
MatchCollection matchesFile = regexFile.Matches(html);
if (matchesFile.Count != 0)
foreach (Match match in matchesFile)
if (match.Success)
pathInfos.Add(
new PathInfo( rootUrl + match.Groups["file"], false));
//Dir
MatchCollection matchesDir = regexDir.Matches(html);
if (matchesDir.Count != 0)
foreach (Match match in matchesDir)
if (match.Success)
{
var dirInfo = new PathInfo(rootUrl + match.Groups["dir"], true);
GetAllFilePathAndSubDirectory(dirInfo.AbsoluteUrlStr, dirInfo.Childs);
pathInfos.Add(dirInfo);
}
}
public static void PrintAllPathInfo(List<PathInfo> pathInfos)
{
pathInfos.ForEach(f =>
{
Console.WriteLine(f.AbsoluteUrlStr);
PrintAllPathInfo(f.Childs);
});
}
}
public class PathInfo
{
public PathInfo(string absoluteUri, bool isDir)
{
AbsoluteUrl = new Uri(absoluteUri);
IsDir = isDir;
Childs = new List<PathInfo>();
}
public Uri AbsoluteUrl { get; set; }
public string AbsoluteUrlStr
{
get { return AbsoluteUrl.ToString(); }
}
public string RootUrl
{
get { return AbsoluteUrl.GetLeftPart(UriPartial.Authority); }
}
public string RelativeUrl
{
get { return AbsoluteUrl.PathAndQuery; }
}
public string Query
{
get { return AbsoluteUrl.Query; }
}
public bool IsDir { get; set; }
public List<PathInfo> Childs { get; set; }
public override string ToString()
{
return String.Format("{0} IsDir {1} ChildCount {2} AbsUrl {3}", RelativeUrl, IsDir, Childs.Count, AbsoluteUrlStr);
}
}
答案 1 :(得分:0)
您可以使用CSS简单地隐藏按钮。 {display: none}
。但是不要删除按钮。 (如果您使用的是boostrap,请尝试将d-none
类添加到“提交”按钮。)这将使用Enter键提交表单。