Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# html按钮正在html输入表单中激活asp验证-为什么?_C#_Html_Asp.net Core Mvc - Fatal编程技术网

C# html按钮正在html输入表单中激活asp验证-为什么?

C# html按钮正在html输入表单中激活asp验证-为什么?,c#,html,asp.net-core-mvc,C#,Html,Asp.net Core Mvc,我想问一下,为什么在单击我的自定义按钮(该按钮只是将文本附加到表单中的div)之后,它会激活该表单的asp验证 <form asp-action="Create"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="Name" class="co

我想问一下,为什么在单击我的自定义按钮(该按钮只是将文本附加到表单中的div)之后,它会激活该表单的asp验证

<form asp-action="Create">
    <div asp-validation-summary="ModelOnly" class="text-danger"></div>

    <div class="form-group">
        <label asp-for="Name" class="control-label"></label>
        <input asp-for="Name" class="form-control" />
        <span asp-validation-for="Name" class="text-danger"></span>
    </div>

    <div id="append_area">

    </div>

    <button id="appendChild" onclick="addText()">add new thing</button>

    <div class="form-group">
        <input type="submit" value="Create" class="btn btn-default" />
    </div>
</form>

<script>
function addText()
{
  var div = document.getElementById('append_area');
  div.innerHTML += `test`;
}
</script>

添加新事物
函数addText()
{
var div=document.getElementById('append_area');
div.innerHTML+=`test`;
}

将按钮类型设置为按钮

<button type="button" id="appendChild" onclick="addText()">add new thing</button>
添加新事物

将按钮类型设置为按钮

<button type="button" id="appendChild" onclick="addText()">add new thing</button>
添加新事物
因为,
元素的默认
类型在不同的浏览器中可能会有所不同,所以最好总是明确指定它

在这种情况下,默认值是
submit
,因此,单击该按钮会无意中导致提交操作,因此也会执行验证

要解决此问题,只需将按钮
类型
明确指定为
按钮

<button type="button" />

因为,
元素的默认
类型在不同的浏览器中可能会有所不同,所以最好总是明确指定它

在这种情况下,默认值是
submit
,因此,单击该按钮会无意中导致提交操作,因此也会执行验证

要解决此问题,只需将按钮
类型
明确指定为
按钮

<button type="button" />

当您向驻留在服务器上的CGI程序提交表单时,通常会对其进行编程,以自行检查错误。如果它发现了任何数据,它会将页面发送回读者,读者必须在再次提交之前重新输入一些数据。JavaScript检查非常有用,因为如果出现问题,它会阻止表单提交,从而为读者节省大量时间

<button type="button" id="ChildForm" onclick="add()">add new </button>
添加新的

CGI脚本更加可靠,因为无论是否在客户端启用JavaScript,它都能正常工作;但是有了这个额外的安全屏障是一件好事。它使你的页面更加用户友好,并消除了重复填写同一表格的挫折感。它也非常精确,因为您可以指出出现问题的确切字段。

当您向驻留在服务器上的CGI程序提交表单时,通常会对表单进行编程,以自行检查错误。如果它发现了任何数据,它会将页面发送回读者,读者必须在再次提交之前重新输入一些数据。JavaScript检查非常有用,因为如果出现问题,它会阻止表单提交,从而为读者节省大量时间

<button type="button" id="ChildForm" onclick="add()">add new </button>
添加新的
CGI脚本更加可靠,因为无论是否在客户端启用JavaScript,它都能正常工作;但是有了这个额外的安全屏障是一件好事。它使你的页面更加用户友好,并消除了重复填写同一表格的挫折感。它也非常精确,因为您可以指出存在问题的确切字段。

您也可以这样做:

<script>
function addText()
{
  var div = document.getElementById('append_area');
  div.innerHTML += `test`;
  return false;
}
</script>

函数addText()
{
var div=document.getElementById('append_area');
div.innerHTML+=`test`;
返回false;
}
然后您可以调用code
onclick=“return addText()”

您还可以执行以下操作:

<script>
function addText()
{
  var div = document.getElementById('append_area');
  div.innerHTML += `test`;
  return false;
}
</script>

函数addText()
{
var div=document.getElementById('append_area');
div.innerHTML+=`test`;
返回false;
}
然后您可以调用code
onclick=“return addText()”

默认情况下,
type=“submit”
。添加
type=“button”
。默认情况下
type=“submit”
。添加
type=“button”