আমার একটি সরল ফাইল আপলোড ফর্ম রয়েছে। কোনও ফাইল নির্বাচন করা হয়ে গেলে আমি কীভাবে এটি স্বয়ংক্রিয়ভাবে জমা করব? আমি চাই না যে ব্যবহারকারীকে জমা দিন বোতামটি ক্লিক করতে হবে।
আমার একটি সরল ফাইল আপলোড ফর্ম রয়েছে। কোনও ফাইল নির্বাচন করা হয়ে গেলে আমি কীভাবে এটি স্বয়ংক্রিয়ভাবে জমা করব? আমি চাই না যে ব্যবহারকারীকে জমা দিন বোতামটি ক্লিক করতে হবে।
উত্তর:
আপনার ফাইল ইনপুট ইভেন্টে আপনি কেবল আপনার ফর্মের submitপদ্ধতিটি কল করতে পারেন onchange।
document.getElementById("file").onchange = function() {
document.getElementById("form").submit();
};
Submit()কলটি jQuery submitইভেন্টটিকে ট্রিগার করে , তবে অন্তর্নিহিত ফর্মটি ছড়িয়ে দেয় না submit()। আপনি অবশ্যই $('form')[0].submit()jQuery এর সাহায্যে ডিওএম উপাদানটি হিট করতে ব্যবহার করতে পারেন
fileকোনও পরিবর্তনতে স্বয়ংক্রিয়ভাবে ফর্মটি জমা দেওয়ার জন্য ইনপুটকে বলুন :
<form action="http://example.com">
<input type="file" onchange="form.submit()" />
</form>
এই সমাধানটি এইভাবে কাজ করে:
onchangeযখনই valueসংশোধিত হয় ইনপুট উপাদানটি নিম্নলিখিত স্ক্রিপ্টটি কার্যকর করেform ফর্মটি উল্লেখ করে যে এই ইনপুট উপাদানটির একটি অংশsubmit() ফর্মের ফলে URL হিসাবে সমস্ত তথ্য প্রেরণ করা হবে, যেমন উল্লিখিত হয়েছে actionএই সমাধানের সুবিধা:
idএস ছাড়া কাজ করে । যদি আপনার এইচটিএমএল পৃষ্ঠায় বেশ কয়েকটি ফর্ম থাকে তবে এটি জীবনকে আরও সহজ করে তোলে ।JQuery ব্যবহার:
$('#file').change(function() {
$('#target').submit();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="target" action="destination.html">
<input type="file" id="file" value="Go" />
</form>
onchangeইভেন্ট সহ জাভাস্ক্রিপ্ট :
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename" onchange="javascript:this.form.submit();">
</form>
jQuery
.change()এবং .submit():
$('#fileInput').change(function() {
$('#myForm').submit();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<form action="upload.php" id="myForm">
<input type="file" id="fileInput">
</form>
সবচেয়ে সংক্ষিপ্ত সমাধানটি হল
<input type="file" name="file" onchange="javascript:document.getElementById('form').submit();" />
onchange="this.form.submit()"
onchange="form.submit()"? :)
<form id="thisForm" enctype='multipart/form-data'>
<input type="file" name="file" id="file">
</form>
<script>
$(document).on('ready', function(){
$('#file').on('change', function(){
$('#thisForm').submit();
});
});
</script>
এটি আমার চিত্র আপলোড সমাধান, যখন ব্যবহারকারী ফাইলটি নির্বাচন করেন।
এইচটিএমএল অংশ:
<form enctype="multipart/form-data" id="img_form" method="post">
<input id="img_input" type="file" name="image" accept="image/*">
</form>
javascript:
document.getElementById('img_input').onchange = function () {
upload();
};
function upload() {
var upload = document.getElementById('img_input');
var image = upload.files[0];
$.ajax({
url:"/foo/bar/uploadPic",
type: "POST",
data: new FormData($('#img_form')[0]),
contentType:false,
cache: false,
processData:false,
success:function (msg) {}
});
};
Jquery সহ বেলো কোড ব্যবহার করে দেখুন:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<script>
$(document).ready(function(){
$('#myForm').on('change', "input#MyFile", function (e) {
e.preventDefault();
$("#myForm").submit();
});
});
</script>
<body>
<div id="content">
<form id="myForm" action="action.php" method="POST" enctype="multipart/form-data">
<input type="file" id="MyFile" value="Upload" />
</form>
</div>
</body>
</html>
যারা নেট নেটফর্ম ব্যবহার করছেন তাদের জন্য একটি পূর্ণ পৃষ্ঠা জমা দেওয়ার পছন্দসই নাও হতে পারে। পরিবর্তে, onchangeজাভাস্ক্রিপ্টে কোনও লুকানো বোতামটি ক্লিক করতে একই ধারণাটি ব্যবহার করুন (যেমন <এসপি: বোতাম ...) এবং লুকানো বোতামটি বাকী অংশ নিতে পারে। আপনি display: none;বাটনে একটি করছেন এবং না তা নিশ্চিত করুন Visible="false"।
এইচটিএমএল
<form id="xtarget" action="upload.php">
<input type="file" id="xfilename">
</form>
জাভাস্ক্রিপ্ট খাঁটি
<script type="text/javascript">
window.onload = function() {
document.getElementById("xfilename").onchange = function() {
document.getElementById("xtarget").submit();
}
};
</script>
<form action="http://example.com">
<input type="file" onchange="Submit()" />
</form>
<script>
// it will submit form 0 or you have to select particular form
document.getElementsByTagName("form")[0].submit();
</script>
আপনার কোডটি কোডের একক লাইন দিয়ে কাজ করতে আপনি এই কোডটি রাখতে পারেন
<input type="file" onchange="javascript:this.form.submit()">
এটি সাবমিট বাটনে ক্লিক না করে সার্ভারে ফাইল আপলোড করবে