Saya memiliki kolom input ini yang
<input name="question"/>
ingin saya panggil fungsi IsEmpty saat mengirimkan mengklik tombol kirim.
Saya mencoba kode di bawah ini tetapi tidak berhasil. ada saran?
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=unicode" />
<meta content="CoffeeCup HTML Editor (www.coffeecup.com)" name="generator" />
</head>
<body>
<script language="Javascript">
function IsEmpty() {
if (document.form.question.value == "") {
alert("empty");
}
return;
}
</script>
Question: <input name="question" /> <br/>
<input id="insert" onclick="IsEmpty();" type="submit" value="Add Question" />
</body>
</html>
javascript
Eyla
sumber
sumber
return false
... dll dllJawaban:
<script type="text/javascript"> function validateForm() { var a = document.forms["Form"]["answer_a"].value; var b = document.forms["Form"]["answer_b"].value; var c = document.forms["Form"]["answer_c"].value; var d = document.forms["Form"]["answer_d"].value; if (a == null || a == "", b == null || b == "", c == null || c == "", d == null || d == "") { alert("Please Fill All Required Field"); return false; } } </script> <form method="post" name="Form" onsubmit="return validateForm()" action=""> <textarea cols="30" rows="2" name="answer_a" id="a"></textarea> <textarea cols="30" rows="2" name="answer_b" id="b"></textarea> <textarea cols="30" rows="2" name="answer_c" id="c"></textarea> <textarea cols="30" rows="2" name="answer_d" id="d"></textarea> </form>
sumber
if
pernyataan hanya akan menyebabkan pengecekan terakhir dikembalikan: stackoverflow.com/a/5348007/713874Lihat contoh kerja di sini
Anda kehilangan
<form>
elemen yang dibutuhkan . Beginilah seharusnya kode Anda:function IsEmpty() { if (document.forms['frm'].question.value === "") { alert("empty"); return false; } return true; }
<form name="frm"> Question: <input name="question" /> <br /> <input id="insert" onclick="return IsEmpty();" type="submit" value="Add Question" /> </form>
sumber
Bidang masukan dapat memiliki spasi putih , kami ingin mencegahnya.
Gunakan String.prototype.trim () :
function isEmpty(str) { return !str.trim().length; }
Contoh:
const isEmpty = str => !str.trim().length; document.getElementById("name").addEventListener("input", function() { if( isEmpty(this.value) ) { console.log( "NAME is invalid (Empty)" ) } else { console.log( `NAME value is: ${this.value}` ); } });
<input id="name" type="text">
sumber
Saya ingin menambahkan atribut yang diperlukan jika pengguna menonaktifkan javascript:
<input type="text" id="textbox" required/>
Ini berfungsi di semua browser modern.
sumber
if(document.getElementById("question").value.length == 0) { alert("empty") }
sumber
Tambahkan "pertanyaan" id ke elemen masukan Anda, lalu coba ini:
if( document.getElementById('question').value === '' ){ alert('empty'); }
Alasan kode Anda saat ini tidak berfungsi adalah karena Anda tidak memiliki tag FORM di sana. Selain itu, pencarian menggunakan "nama" tidak disarankan karena sudah usang.
Lihat jawaban @Paul Dixon di posting ini: Apakah atribut 'name' dianggap ketinggalan jaman untuk <a> tag anchor?
sumber
if(document.getElementById("question").value == "") { alert("empty") }
sumber
<input>
elemen; ini hanya akan berfungsi di IE karena IE rusak.Cukup tambahkan tag ID ke elemen input ... yaitu:
dan periksa nilai elemen di javascript Anda:
document.getElementById ("pertanyaan"). nilai
Oh ya, dapatkan firefox / firebug. Ini satu-satunya cara untuk menggunakan javascript.
sumber
Solusi saya di bawah ini ada di es6 karena saya memanfaatkan
const
jika Anda lebih suka es5 Anda dapat mengganti semuaconst
denganvar
.const str = " Hello World! "; // const str = " "; checkForWhiteSpaces(str); function checkForWhiteSpaces(args) { const trimmedString = args.trim().length; console.log(checkStringLength(trimmedString)) return checkStringLength(trimmedString) } // If the browser doesn't support the trim function // you can make use of the regular expression below checkForWhiteSpaces2(str); function checkForWhiteSpaces2(args) { const trimmedString = args.replace(/^\s+|\s+$/gm, '').length; console.log(checkStringLength(trimmedString)) return checkStringLength(trimmedString) } function checkStringLength(args) { return args > 0 ? "not empty" : "empty string"; }
sumber
<pre> <form name="myform" action="saveNew" method="post" enctype="multipart/form-data"> <input type="text" id="name" name="name" /> <input type="submit"/> </form> </pre> <script language="JavaScript" type="text/javascript"> var frmvalidator = new Validator("myform"); frmvalidator.EnableFocusOnError(false); frmvalidator.EnableMsgsTogether(); frmvalidator.addValidation("name", "req", "Plese Enter Name"); </script>
sebelum menggunakan kode di atas Anda harus menambahkan file gen_validatorv31.js
sumber
Menggabungkan semua pendekatan kita dapat melakukan sesuatu seperti ini:
const checkEmpty = document.querySelector('#checkIt'); checkEmpty.addEventListener('input', function () { if (checkEmpty.value && // if exist AND checkEmpty.value.length > 0 && // if value have one charecter at least checkEmpty.value.trim().length > 0 // if value is not just spaces ) { console.log('value is: '+checkEmpty.value);} else {console.log('No value'); } });
<input type="text" id="checkIt" required />
Perhatikan bahwa jika Anda benar-benar ingin memeriksa nilai, Anda harus melakukannya di server, tetapi ini di luar cakupan pertanyaan ini.
sumber
Anda dapat mengulang setiap masukan setelah mengirimkan dan memeriksa apakah sudah kosong
let form = document.getElementById('yourform'); form.addEventListener("submit", function(e){ // event into anonymous function let ver = true; e.preventDefault(); //Prevent submit event from refreshing the page e.target.forEach(input => { // input is just a variable name, e.target is the form element if(input.length < 1){ // here you're looping through each input of the form and checking its length ver = false; } }); if(!ver){ return false; }else{ //continue what you were doing :) } })
sumber
<script type="text/javascript"> function validateForm() { var a = document.forms["Form"]["answer_a"].value; var b = document.forms["Form"]["answer_b"].value; var c = document.forms["Form"]["answer_c"].value; var d = document.forms["Form"]["answer_d"].value; if (a == null || a == "", b == null || b == "", c == null || c == "", d == null || d == "") { alert("Please Fill All Required Field"); return false; } } </script> <form method="post" name="Form" onsubmit="return validateForm()" action=""> <textarea cols="30" rows="2" name="answer_a" id="a"></textarea> <textarea cols="30" rows="2" name="answer_b" id="b"></textarea> <textarea cols="30" rows="2" name="answer_c" id="c"></textarea> <textarea cols="30" rows="2" name="answer_d" id="d"></textarea> </form>
sumber