对于特定用例,我必须以"旧方式"提交单个表单.意思是,我使用带有action =""的表单.响应是流式传输的,所以我没有重新加载页面.我完全知道一个典型的AngularJS应用程序不会以这种方式提交表单,但到目前为止我别无选择.
也就是说,我试图从Angular填充一些隐藏的字段:
<input type="hidden" name="someData" ng-model="data" /> {{data}}
Run Code Online (Sandbox Code Playgroud)
请注意,显示数据中的正确值.
表单看起来像标准形式:
<form id="aaa" name="aaa" action="/reports/aaa.html" method="post">
...
<input type="submit" value="Export" />
</form>
Run Code Online (Sandbox Code Playgroud)
如果我点击提交,则不会向服务器发送任何值.如果我将输入字段更改为键入"text",它将按预期工作.我的假设是隐藏字段没有真正填充,而文本字段实际上是由于双向绑定显示的.
有关如何提交由AngularJS填充的隐藏字段的任何想法?
如何检测隐藏输入值的变化?我已经尝试过这些方法但没有成功:
$('#id_inpout').live('change',function () {
var id_el = $(this).attr('id');
alert(id_el);
});
Run Code Online (Sandbox Code Playgroud)
和
$('#id_inpout').change(function () {
var id_el = $(this).attr('id');
alert(id_el);
});
Run Code Online (Sandbox Code Playgroud)
和
$('#id_inpout').bind('change',function () {
var id_el = $(this).attr('id');
alert(id_el);
});
Run Code Online (Sandbox Code Playgroud) 我隐藏了这个输入:
<input id="j_idt26:myValue" type="hidden" name="j_idt26:myValue" value="0?100?">
Run Code Online (Sandbox Code Playgroud)
我想在第一次设置值时提醒"嘿",然后每次更改时.
我有这样的事情:
$(document).ready(function(){
var $hello= $('[id$=myValue]');
$hello.bind("change load", function(){
alert('hey');
});
});
Run Code Online (Sandbox Code Playgroud)
但没有任何东西出现.
如果你能帮忙
谢谢
我有一个textarea在我正在实现的MVC应用程序中AspNetSpellCheck,调试器告诉我textarea对display: none; visibility: hidden;和a 的更改div是用id="abc"和生成的class"="pqr".
<input type="hidden" value="" name="userid" id="useid" />
Run Code Online (Sandbox Code Playgroud)
此外,我正在为所有文本区域/其他控件实现更改检测....
var somethingChanged = false;
$(document).ready(function() {
$('input').change(function() {
somethingChanged = true;
});
});
Run Code Online (Sandbox Code Playgroud)
因为文本区域变得隐藏,我想它不会自动触发change()事件.在上述案例中解雇事件的解决方案是什么?谢谢!
编辑
使用AspNetSpellCheck,下面是我的代码,
@{
ASPNetSpell.Razor.SpellAsYouType mySpell = new ASPNetSpell.Razor.SpellAsYouType();
mySpell.InstallationPath = ("/Content/ASPNetSpellInclude");
mySpell.FieldsToSpellCheck = "TextArea1";
}
<textarea id="TextArea1" cols="20" rows="2">bedddly</textarea>
@Html.Raw(mySpell.getHtml())
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$('input[type="hidden"]').change(function () {
debugger;
alert('hi');
// somethingChanged = true;
});
});
</script> …Run Code Online (Sandbox Code Playgroud) 我试图创建一个陷阱属性的Proxy对象,Image但即使使用空处理程序,我收到一条错误消息.
TypeError:Node.appendChild的参数1没有实现接口Node.
代理对象假设充当目标对象,所以这让我感到困惑.据我所知,你也应该能够使用DOM节点(?).
另外:我无法开始加载图像并onload在设置src属性时触发处理程序.
我应该如何使用代理,以便我可以"接管"例如"src"属性,否则它会像常规图像对象一样?
我的代码
'use strict';
//--- normal image use ---
var imgNormal = new Image();
imgNormal.onload = function(){
console.log('Normal loaded OK');
document.body.appendChild(imgNormal);
};
imgNormal.src = 'https://i.imgur.com/zn7O7QWb.jpg';
//--- proxy image ---
var imgProxy = new Proxy(Image, { // I also tried with 'new Image()' and HTMLImageElement
set: function(a,b,c,d){
console.log('set '+b);
return Reflect.set(a,b,c,d);
}
});
imgProxy.onload = function(){
console.log('Proxy loaded OK');
document.body.appendChild(imgProxy);
};
imgProxy.src = 'https://i.imgur.com/zn7O7QWb.jpg';
document.body.appendChild(imgProxy); …Run Code Online (Sandbox Code Playgroud)我在 React 的输入字段中遇到了一个奇怪的问题。我知道hidden输入不会触发input或change事件。然而,即使我手动触发它们,React 的onChange事件仍然没有被调用。
我在这里同时触发change和input事件,因为 ReactonChange实际上就是input事件。当我在inputRef( addEventListener("change", () => { ... }))上设置事件侦听器以进行测试时,它被毫无问题地调用。然而,事实证明 React 在拦截它时遇到了一些问题。
这是我当前的代码:
const [fieldValue, setFieldValue] = useState(0);
const inputRef = useRef<HTMLInputElement>(null);
const handleClick = useCallback((): void => {
if (inputRef.current) {
inputRef.current.dispatchEvent(new Event("change", { bubbles: true }));
inputRef.current.dispatchEvent(new Event("input", { bubbles: true }));
}
setFieldValue(prev => prev + 1);
}, []);
Run Code Online (Sandbox Code Playgroud)
JSX:
<input type="hidden" ref={inputRef} value={fieldValue} onChange={(e) => …Run Code Online (Sandbox Code Playgroud) javascript ×3
jquery ×3
angularjs ×1
asp.net-mvc ×1
dom-events ×1
ecmascript-6 ×1
es6-proxy ×1
events ×1
forms ×1
hidden ×1
input ×1
reactjs ×1
typescript ×1