I have my form as below
<div id="new_image" title="Add Image">
<form id="new_image_form" action="/reg_new_img" method="POST" enctype="multipart/form-data">
<table width="0" border="0" cellspacing="0" cellpadding="6" class="table100">
<span class="astrix"></span>
<tr>
<td class="td30">Description of the Image:</td>
<td>
<input name="desc" type="text" value="" />
</td>
</tr>
<tr>
<td></td>
<td>
<input id="atag" type="hidden" name="atag" value="">
</textarea>
</td>
</tr>
<tr>
<tr>
<td>Files / Image:
<p class="text5">X-ray / Site / Document / Agreement etc.</p>
</td>
<td>
<input name="image" type="file">
</td>
</tr>
</table>
</form>
</div>
the script is as below.
$(document).ready(function () {
$("#new_image").dialog({
height: $("#new_image").height() + 150,
width: $("#new_image").width() - 450,
modal: true,
autoOpen: false,
show: {
effect: "fade",
duration: 200
},
hide: {
effect: "fade",
duration: 200
},
buttons: {
"Submit": function () {
$("#new_image_form").submit();
},
"Close": function () {
$('#new_image').dialog("close");
}
}
});
$('#new_image_form').validate({
rules: {
desc: {
required: true,
minlength: 10
},
image: {
required: true,
accept: "image/*"
}
},
messages: {
image: {
required: "only Image files accepted",
accept: "Please upload only image",
},
},
submitHandler: function (form) {
$('#new_image_form').ajaxSubmit({
success: function (data) {
console.log(data);
$('#new_image').dialog("close");
$(':input', '#new_image_form')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
}
});
parse_patients();
}
});
$('#new_image').dialog("open");
});
I have this code on js fiddle
http://jsfiddle.net/rakeshpatil1983/ctL7q/
I'm getting an error when i click submit when I actually put image file on the chrome browser console
Uncaught TypeError: Cannot call method 'call' of undefined
I'm not able to fix this. This code seems to work in some other page.