onsubmit इवेंट हैंडलर में document.formName.inputName.value या event.target.elements.name.value से इनपुट मान बदलें।
बुनियादी उदाहरण
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>फॉर्म सबमिट पर मान बदलें</title>
</head>
<body>
<form name="studentForm" onsubmit="return submitForm()">
<input type="hidden" name="txtInput" value="10000" />
<input type="submit" value="फॉर्म सबमिट करें" />
</form>
<script>
function submitForm() {
// फॉर्म और इनपुट एक्सेस करें
const form = document.studentForm;
const input = form.txtInput;
console.log("बदलने से पहले:", input.value); // "10000"
// मान बदलें
input.value = 'STUDENT-100';
console.log("बदलने के बाद:", input.value); // "STUDENT-100"
// true लौटाएं = फॉर्म सबमिट होने दें
// false लौटाएं = सबमिट रोकें
return true;
}
</script>
</body>
</html>
मॉडर्न दृष्टिकोण: addEventListener
<form id="myForm">
<input type="hidden" name="token" value="old-token">
<button type="submit">सबमिट</button>
</form>
<script>
document.getElementById('myForm').addEventListener('submit', function(event) {
// event.target = फॉर्म एलिमेंट
this.elements.token.value = 'NEW-TOKEN-' + Date.now();
console.log("नया टोकन:", this.elements.token.value);
// event.preventDefault() से सबमिट रोकें (AJAX के लिए)
// event.preventDefault();
});
</script>
FormData के साथ (AJAX सबमिशन के लिए)
form.addEventListener('submit', async (e) => {
e.preventDefault(); // डिफ़ॉल्ट सबमिट रोकें
const formData = new FormData(e.target);
// मान बदलें
formData.set('txtInput', 'STUDENT-100');
formData.append('timestamp', Date.now());
// AJAX से भेजें
try {
const response = await fetch('/submit', {
method: 'POST',
body: formData
});
console.log('सबमिट सफल');
} catch (err) {
console.error('त्रुटि:', err);
}
});
चलाने का तरीका
फ़ाइल को form-submit.html नाम से सेव करें और ब्राउज़र में खोलें। सबमिट बटन क्लिक करें, फिर नेटवर्क टैब या कंसोल देखें।
आउटपुट
बदलने से पहले: 10000
बदलने के बाद: STUDENT-100
महत्वपूर्ण बिंदु
onsubmit="return func()"मेंreturnजरूरी हैfalseलौटाने पर सबमिट रुक जाता हैevent.preventDefault()मॉडर्न तरीका है सबमिट रोकने का- हिडन इनपुट (
type="hidden") उपयोगकर्ता को नहीं दिखता लेकिन सबमिट होता है