只有在检查某个无线电时,我才能以某种方式将所需属性插入输入字段吗?
我有一个名为"梯度计"的输入字段,默认情况下不需要填充.但是,如果用户检查名为"梯形"的单选按钮,则需要填充"梯形仪表"字段.
我的输入如下:
<input type="text" name="ladder-meters" id="ladder-meters">
Run Code Online (Sandbox Code Playgroud)
并且应该在收音机的onchange事件中这样做
<input type="text" name="ladder-meters" id="ladder-meters" required>
Run Code Online (Sandbox Code Playgroud) 我正在创建一个带有选择下拉列表的表单.其中一个选项是"其他 - 请指定",它应该显示一个额外的文本字段以获取更多详细信息.
我设法使用onChange事件+一些简单的值检查(因为我不能依赖于位置).
我开始测试它并意识到虽然它在使用鼠标时工作得很好(在控制失去焦点后运行onChange),但是当我使用键盘时它没有(因为它还没有失去焦点) - 只有在我按下之后选项卡显示更改(看起来很奇怪).
在我看来,我似乎错过了一些明显的东西,我寻找其他事件,而我发现的最接近的是onclick,但那也不是.
所以问题是,有没有更好的方法来解决这个问题?
我有下面的代码用于模拟文本框:
<label for="alertCmpVal">ALERT VALUE:</label>
<span class="center textBox displayField highlight" id="alertCmpVal" contenteditable> <?php print $alert_val;?> </span>
Run Code Online (Sandbox Code Playgroud)
我需要知道内容何时发生变化,例如我点击它,然后将其从0更改为1.
我试过了:
$(document).ready(function()
{
$(document.body).on('change','#alertCmpVal',function()
{
alert("boo");
$('#alertCmpVal').removeClass('highlight');
})
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
(nb $(document.body)被使用是因为在我的主页面上,初始字段是动态加载的)
我猜它是不喜欢它的'变化',但却看不出要用什么来代替它.(jQuery/HTML5很好,因为它只在内部使用).
我已经看过几个例子,但它们通常似乎是针对更复杂的场景,需要多个函数来检测某些其他事情发生时的变化,但我认为必须有一个类似于该on change方法的更简单的解决方案.
我面临的问题是:
理想情况下,我希望能够将事件作为属性添加到文本框中,例如:
txtCreateDate.Attributes.Add("onchange", string.Format("JSfunction({0},'{1}');", arg1, arg2));
Run Code Online (Sandbox Code Playgroud)
更多信息:日期输入到c#的文本框中.日历控件在页面上有一个事件处理程序.选择日期后,事件处理程序会将日期放入文本框中.我已经尝试将焦点设置到文本框,然后在文本框上放置一个onBlur属性,但文本框似乎永远不会得到焦点.
我想我此时可以直接调用javascript函数做ClientScript.RegisterClientScriptBlock或类似的东西,但这看起来很草率,从来没有像我想要的那样工作.
我在文本输入上的jquery更改事件有问题,它在Firefox和IE中按预期工作,但在Chrome中没有.我还在文本输入上有一个键盘事件来操作输入的输入,但是当输入完成时我需要运行一些额外的代码.我尝试使用'模糊'事件和'焦点'事件,因为有人在这里建议作为替代品,但后来我根本无法改变焦点 - 输入一直以某种方式抓住它.这是代码:
$('.textInput').keyup(function(event) { /* do stuff */ });
$('.textInput').change(function(event) { alert('Changed!'); /* do other stuff */ });
Run Code Online (Sandbox Code Playgroud)
和HTML:
<input type="text" class="textInput" value="" />
Run Code Online (Sandbox Code Playgroud)
我正在使用jQuery 1.6.3.任何建议将不胜感激.H.
任何想法为什么preventDefault不起作用?这是下面的代码...TKS!
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
$(document).ready(function() {
$("#text1").change(function(e) {
e.preventDefault();
});
});
function myFunc() {
alert("Random, annoying alert");
}
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
表单中只有一个HTML元素:
<body>
<form name="test" method="post">
<input name="text1" id="text1" type="text" onchange="myFunc();">
</form>
</body>
Run Code Online (Sandbox Code Playgroud) 测试表单的一部分.所以,现在我只想提醒用户选择的内容:
JS:
function getData(title)
{
alert(title);
}
Run Code Online (Sandbox Code Playgroud)
PHP生成的HTML:
<select name="currentList" onChange="getData(this);">
<option value="hat">Hat</option>
<option value="shirt">Shirt</option>
<option value="pants">Pants</option>
</select>
Run Code Online (Sandbox Code Playgroud)
当我更改值时,我会收到一个警告:
[object HTMLSelectElement]
是否有可能onchange在一个<div>?
因为我<div>在里面改变了它的文字.
我可以这样做吗?
<div id="name" onchange="calculateTotal();"></div>
Run Code Online (Sandbox Code Playgroud) 我正在使用p:ajax监听器来处理值更改事件(因为valueChangeListener在表单提交时启动):
<p:ajax event="change" listener="#{bean.onNameChanged}"/>
Run Code Online (Sandbox Code Playgroud)
处理方法:
public void onNameChanged(final AjaxBehaviorEvent event)
Run Code Online (Sandbox Code Playgroud)
问题是,我无法在AjaxBehaviorEvent其类层次结构中找到读取输入旧值的位置.我也不能在谷歌中找到提示,如何获得旧价值......
如何在p:ajax onChange事件中访问旧值?
我希望CodeMirror 6 编辑器实例的内容/值反映在外部变量中,当文本更改时,变量会更改/同步。
如何在CodeMirror 6中做到这一点?
let sync_val = "";
import {EditorView} from "@codemirror/view"
import {EditorState} from "@codemirror/state"
let myView = new EditorView({
state: EditorState.create({doc: "hello"}),
parent: document.body
})
myView.onChange(function(val) {
sync_val = val;
});
Run Code Online (Sandbox Code Playgroud) onchange ×10
javascript ×6
html ×2
input ×2
jquery ×2
ajax ×1
codemirror ×1
focus ×1
html5 ×1
jsf ×1
jsf-2 ×1
onupdate ×1
primefaces ×1
radio-button ×1
required ×1
text ×1
textbox ×1