如何使用jQuery在文本字段中设置光标位置?我有一个包含内容的文本字段,我希望用户光标在关注字段时定位在某个偏移处.代码应该看起来像这样:
$('#input').focus(function() {
$(this).setCursorPosition(4);
});
Run Code Online (Sandbox Code Playgroud)
setCursorPosition函数的实现是什么样的?如果您有一个内容为abcdefg的文本字段,则此调用将导致光标定位如下:abcd**|**efg.
Java有一个类似的功能,setCaretPosition.javascript是否存在类似的方法?
更新:我修改了CMS的代码以使用jQuery,如下所示:
new function($) {
$.fn.setCursorPosition = function(pos) {
if (this.setSelectionRange) {
this.setSelectionRange(pos, pos);
} else if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
if(pos < 0) {
pos = $(this).val().length + pos;
}
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
}(jQuery);
Run Code Online (Sandbox Code Playgroud) 我有一个以下列方式编写的form_for:
<div class="field">
<%= location.label :city %>
<%= location.text_field :city, :disabled=>true%>
</div>
<div class="field">
<%= location.label :country %>
<%= location.text_field :country, :disabled=>true%>
</div>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,2文本字段被禁用,因为它们是由jquery函数自动填充的,我不希望让用户处理它们.问题是,通过这种方式,视图不会将该参数传递给控制器,因为已禁用!有没有其他方法可以将不可编辑的text_field传递给控制器,注意我不想使用隐藏字段,因为我想在文本框中向用户显示结果
TNX
我需要将输入限制为TextField为整数.有什么建议?
我有一个文本字段有没有办法隐藏闪烁的文本光标?我这样说是因为我正在做一个恐怖/神秘的网站,其中一条线索就是开始在任何地方打字.
也许我可以用javascript做到这一点?
当我在landScape模式下点击textField时,我想在全屏模式下展开喜欢whatsapp
TextFormField(
keyboardType: TextInputType.number,
decoration: InputDecoration(
prefixIcon: Padding(
padding: EdgeInsets.all(0.0),
child: Icon(Icons.person,
size: 40.0, color: Colors.white),
),
hintText: "Input your opinion",
hintStyle: TextStyle(color: Colors.white30),
border: OutlineInputBorder(
borderRadius:
BorderRadius.all(new Radius.circular(25.0))),
labelStyle: TextStyle(color: Colors.white)),
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 25.0,
),
controller: host,
validator: (value) {
if (value.isEmpty) {
return "Empty value";
}
},
)
Run Code Online (Sandbox Code Playgroud) 我使用以下Javascript来限制我的网站上的文本字段只接受数字输入,而不是其他字母或字符.问题是,它真的拒绝所有其他主要投入物,如ctrl- A选择文本,或者甚至像任何其他浏览器的功能ctrl- T或ctrl- W当选定文本框.有没有人知道一个更好的脚本只允许数字输入,但不能阻止正常命令(没有直接输入到字段中)?谢谢这是我现在使用的代码:
function numbersonly(e, decimal)
{
var key;
var keychar;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
return true;
else if ((("0123456789").indexOf(keychar) > -1))
return true;
else if (decimal && (keychar == "."))
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
编辑:提供已经解决了我的允许像命令的问题的解决方案中没有ctrl- A当选定文本框.这就是我在这里提出的要点,所以我又回到了使用我的原始剧本.那好吧.
我在 swiftUI 中有一个文本字段,为了使其更具吸引力,我想添加边框并具有圆角。但它似乎并没有像预期的那样工作(见图)。我错过了什么?
我尝试将 .cornerradius() 放在 .border() 之前,但它具有相同的效果。
TextField("Text input goes here", text: $addMins)
.padding(.all, 5.0)
.background(View)
.frame(width: 300.0, height: 35.0)
.border(Color.green, width: 2)
.cornerRadius(14)
Run Code Online (Sandbox Code Playgroud) 嗨,我想摆脱单击文本字段并开始输入数据时出现的蓝色"光泽".这是怎么做到的?
我是初学者,所以我不是那么经验丰富.我的代码是:
<input type="text" name="search" size="40" value="Job Title e.g. Assistant Manager"
style="background-color:white; border:
solid 1px #6E6E6E; height: 31px; font-size:16px;
vertical-align:0px;color:#bbb"
onfocus="if(this.value == 'Job Title e.g. Assistant Manager'){this.value =
'';this.style.color='#000'}" />
Run Code Online (Sandbox Code Playgroud)
谢谢!
詹姆士
我在注册屏幕上有4个文本字段,我已将其设置为当用户在每个文本字段上按下一个时,下一个文本字段将被聚焦.代码如下:
func textFieldShouldReturn(textField: UITextField) -> Bool {
if (textField == self.fNameField) {
textField.resignFirstResponder()
self.sNameField.becomeFirstResponder()
}
else if (textField == self.sNameField) {
self.emailField.becomeFirstResponder()
} else if (textField == self.emailField) {
self.passwordField.becomeFirstResponder()
}
else{
var thereWereErrors = checkForErrors()
if !thereWereErrors
{
//conditionally segue to next screen
}
}
return true
}
Run Code Online (Sandbox Code Playgroud)
在返回最终文本字段时,我正在调用错误检查功能(如下).在此范围内如果任何字段存在问题,我想要关注该文本字段,以便用户可以轻松地纠正它.发生的事情是带有错误的文本字段聚焦(按checkForErrors函数的指示)一秒钟,然后焦点切换回密码文本字段.我也试过加入self.passwordField.resignFirstResponder()
上面的函数的最后一个,这使得密码字段失去焦点但是遇到问题的文本字段根本没有得到关注(甚至不像以前一样)我如何解决这个问题?
func checkForErrors() -> Bool
{
var errors = false
let title = "Error"
var message = ""
if fNameField.text.isEmpty {
errors = true
message += "First name empty" …
Run Code Online (Sandbox Code Playgroud) 我有一个这样的Expanded小部件列:
return new Container(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Expanded(
flex: 1,
child: convertFrom,
),
new Expanded(
flex: 1,
child: convertTo,
),
new Expanded(
flex: 1,
child: description,
),
],
),
);
Run Code Online (Sandbox Code Playgroud)
convertFrom
,包括TextField.当我点击此文本字段时,Android键盘将出现在屏幕上.这会更改屏幕大小,因此小部件会像这样调整大小:
有没有办法让键盘"覆盖"屏幕,以便我的列不调整大小?如果我不使用Expanded
小部件并为每个小部件硬编码高度,则小部件不会调整大小,但是当键盘出现时(因为没有足够的空间),我会收到黑黄条纹错误.对于所有屏幕尺寸,这也不灵活.
我不确定这是特定于Android还是特定于Flutter.