我试图在javascript中验证文本区域。
这是php代码
<?php
error_reporting(0);
if(isset($_POST['submit']))
{
echo "hello";
}
?>
这是javascript代码:
<script>
function formValidation()
{
var usermessage = document.forms["frm_contact"]["userMsg"].value;
if(usermessage === '')
{
alert("hello");
document.getElementById('userMsg').focus();
return false;
}
else
{
return true;
}
}
</script>
这是html代码:
<form method="post" id="frm_contact" action="" onSubmit="return formValidation();">
<textarea name="userMsg" id="userMsg"><?= $_POST['userMsg'] ?> </textarea>
<input type="submit" value="check value" name="submit" onclick="return checkmessage();">
</form>
当我点击提交时,表单未在javascript中验证。无法找到问题。但是,如果适用于<input type='text' name='userMsg'>
答案 0 :(得分:1)
textarea
的值放在这样的标签之间:
<textarea name="..."> value </textarea>
所以,你可以在这里改变:
<textarea name="userMsg" id="userMsg" value="<?= $_POST['userMsg'] ?>"> </textarea>
到
<textarea name="userMsg" id="userMsg" > <?= $_POST['userMsg'] ?></textarea>
而且,如果你不使用它,我想你可以删除onclick="return checkmessage();"
。
您的代码可能是这样的:
<form method="post" id="frm_contact" action="" onSubmit="return formValidation();">
<textarea name="userMsg" id="userMsg"><?= $_POST['userMsg'] ?> </textarea>
<input type="submit" value="check value" name="submit">
</form>
希望这会有所帮助:
答案 1 :(得分:1)
试试这段代码。它会起作用。
<script>
function formValidation()
{
alert("hello");
var usermessage = document.forms["frm_contact"]["userMsg"].value;
if(usermessage=='')
{
alert("hello");
document.getElementById('userMsg').focus();
return false;
}
else
{
return true;
}
}
</script>
<form method="post" id="frm_contact" name="frm_contact" action="" onSubmit="return formValidation();">
<textarea name="userMsg" id="userMsg"><?= $_POST['userMsg'] ?></textarea>
<input type="submit" value="check value" name="submit" >
</form>
您必须将表单名称设置为“frm_contact”而不是使用
的IDdocument.forms['form_name']['element_name'].value;
答案 2 :(得分:1)
您必须进行two
更改
1。更改textarea,因为textarea没有任何value
标记。
<textarea name="userMsg" id="userMsg"><?= $_POST['userMsg'] ?>"></textarea>
2。是JS function
,因为如果您留下一些空格,则只会检查该编码,而textarea看起来像空白,请使用trim
var usermessage = document.forms["frm_contact"]["userMsg"].value;
usermessage = usermessage.trim(); // include this for remove whitespaces
if(usermessage == '')
{
答案 3 :(得分:0)
只需删除textarea open标记和关闭标记之间的 space
即可。像这样使用
<textarea name="userMsg" id="userMsg"><?=$_POST['userMsg'];?></textarea>
不喜欢这个
<textarea name="userMsg" id="userMsg"><?=$_POST['userMsg'];?> </textarea>
完整代码:
<?php
error_reporting(0);
if(isset($_POST['submit'])){
echo 'Your input is: '.$_POST['userMsg'];
}
?>
<script>
function formValidation() {
var usermessage = document.forms["frm_contact"]["userMsg"].value;
if (usermessage === '') {
alert('Error: You missed the field');
document.getElementById('userMsg').focus();
return false;
} else {
return true;
}
}
</script>
<form method="post" id="frm_contact" action="" onSubmit="return formValidation();">
<textarea name="userMsg" id="userMsg"><?php echo $_POST['userMsg']; ?></textarea>
<input type="submit" value="check value" name="submit" onclick="return checkmessage();">
</form>
原因为什么您的代码无效
您正在javascript中验证没有空格的textarea
if (usermessage === '')
并且你的textarea有一个空格:)所以,这就是你的代码不工作的原因:)
答案 4 :(得分:0)
hope this will help
<script>
function formValidation()
{
var usermessage = document.forms["frm_contact"]["userMsg"].value;
if(usermessage === '')
{
alert("hello");
document.getElementById('userMsg').focus();
return false;
}
else
{
return true;
}
}
</script>
<?php
$usermsg=$_POST['userMsg'];
?>
<form method="post" id="frm_contact" action="" onSubmit="return formValidation();">
<textarea name="userMsg" id="userMsg"><?php if(isset($usermsg)){echo $usermsg;}?>
</textarea>
<input type="submit" value="check value" name="submit" onclick="return
checkmessage();">
</form>