So I have a textbox that is created in a for loop and the textbox needs to autosubmit the form on change. I had this working in a different page but not created within a loop. My code is as follows:
using (Ajax.BeginForm("ReportInput","Reports",new AjaxOptions() { UpdateTargetId = "refresh", InsertionMode = InsertionMode.Replace }, new { @id = "refresh" }))
{
.......for loop{
//id of textbox <- only one of these textboxs is created at the moment.
var temp = "#InputParameters_" + i +"__Value";
<script type="text/javascript">
$('@temp').change(function () {
$('#refresh').submit();
});
</script>
@Html.TextBoxFor(modelitem => Model.InputParameters[i].Value)
.......}
}
With firebug the following error pops up on clicking on the textbox.
ReferenceError: reference to undefined property jQuery.event.triggered return event.result; jquery-1.9.1.js (line 3091) ReferenceError: reference to undefined property src.returnValue this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false | jquery-1.9.1.js (line 3345) Use of getPreventDefault() is deprecated. Use defaultPrevented instead. src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; jquery-1.9.1.js (line 3346) ReferenceError: reference to undefined property event.result return event.result;
Generated HTML:
<form id="refresh" method="post" data-ajax-update="#refresh" data-ajax-mode="replace" data-ajax="true" action="/Reports/ReportInput?Length=7">
<script type="text/javascript">
$('#InputParameters_0__Value').change(function () {
$('#refresh').submit();
});
</script>
<input id="InputParameters_0__Value" type="text" value="" name="InputParameters[0].Value">
Im stumped on why this isnt working, any help would be appreciated.