GVKun编程网logo

如何提交不带重定向的html表单?(如何提交不带重定向的html表单信息)

20

在这篇文章中,我们将为您详细介绍如何提交不带重定向的html表单?的内容,并且讨论关于如何提交不带重定向的html表单信息的相关问题。此外,我们还会涉及一些关于ASP.NETMVC3–如何提交嵌套在h

在这篇文章中,我们将为您详细介绍如何提交不带重定向的html表单?的内容,并且讨论关于如何提交不带重定向的html表单信息的相关问题。此外,我们还会涉及一些关于ASP .NET MVC 3 – 如何提交嵌套在html表单中的ajax表单、html – 使用window.location.href重定向表单的提交、html5 – Web组件是否允许嵌套HTML表单?、HTML中如何使用html表单提交的操作的知识,以帮助您更全面地了解这个主题。

本文目录一览:

如何提交不带重定向的html表单?(如何提交不带重定向的html表单信息)

如何提交不带重定向的html表单?(如何提交不带重定向的html表单信息)

如果我有这样的表格:

<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>

如何提交而不通过JavaScript /
Jquery重定向到另一个视图?我从StackOverflow阅读了很多答案,但是所有这些答案都将我重定向到POST函数返回的视图。

ASP .NET MVC 3 – 如何提交嵌套在html表单中的ajax表单

ASP .NET MVC 3 – 如何提交嵌套在html表单中的ajax表单

我有一个ASP .NET MVC 3项目和我的“创建”视图之一的问题.

我有使用ajax表单实现的级联下拉字段.

这个观点粗略地说 – 像这样:

@using (Html.BeginForm(...))
{
    @Html.MyDropDown1

    using (Ajax.BeginForm(...))
    {
        @Ajax.MyDropdown2
        <input type="submit" value="Select" />
    }

    using (Ajax.BeginForm(...))
    {
        @Ajax.MyDropdown3
        <input type="submit" value="Select" />
    }

    <!-- other form fields -->

    <input type="submit" value="Create" />
}

问题是ajax表单中的提交按钮实际上提交了外部html表单.

有没有办法指定我想提交的表单的名称?

我想把我的ajax表单放在我的html表单上面所以不会有任何嵌套 – 但是我需要在我的html帖子中下拉列表的选定项的值.

谢谢,
皮特

解决方法

正如评论中指出的那样,您不能拥有嵌套表单.删除所有using(Ajax.BeginForm(…))位,并通过jQuery(或其他)处理你的ajax调用.

html – 使用window.location.href重定向表单的提交

html – 使用window.location.href重定向表单的提交

尝试这个简单的代码,我很惊讶它没有用,我们走了:
<form method="get" action="" >
    <input type="submit" value="validate" onclick="redirect(); alertIt(); "/>
</form>
<script>
    function redirect(){
       window.location.href = "test.html" ;
    }
</script>
<script>
function alertIt(){
   alert("redirect");
}
</script>

代码只是在点击提交按钮时重定向到“test.html”,但它没有做到.另一方面:alertIt()工作正常……我的问题如下:事件处理表单中是否有一些我应该知道的特殊规则?

解决方法

如果您希望表单不提交,则需要返回false.
function redirect(){
       window.location.href = "test.html" ;
}

应该

function redirect(){
    window.location.href = "test.html" ;
    return false;
}

您还应该优先挂钩提交事件而不是click事件,并在处理程序中返回.

onclick="return redirect(); alertIt(); "

会工作(但不警惕)

最理想的是,您要做的是在表单中添加一个id,例如myForm,并为其附加一个事件.

document.getElementById("myForm").addEventListener("submit",function(){
    alertIt();
    return redirect(); 
},false);

html5 – Web组件是否允许嵌套HTML表单?

html5 – Web组件是否允许嵌套HTML表单?

我很好奇,如果 WebComponents的工作中的任何内容都可以在不违反 the rules的情况下逃脱嵌套HTML表单之类的东西.我问,因为我很好奇WebComponent的内部对于祖先元素是多么孤立包含它们.我可以想象,如果使用WebComponents无法嵌套表单,那么由于消费者不了解组件的内部结构可能导致的问题,这可能导致建议转向组件远离包含表单.

无论哪种方式,我已经做了一些挖掘,并且无法发现任何事情,所以我想我会在这里咨询专家以获得更多洞察力.

相关文章:

> Is it valid to have a html form inside another html form?
> Can you nest html forms?

解决方法

这对我来说似乎是一个非常有效的问题.

出于好奇,我快速做了一个fiddle(下面提供)测试嵌套表单的用例,其中一个在shadow root中.

var template = document.querySelector('template');
var clone = document.importNode(template.content,true);

var root = document.querySelector('#host').createShadowRoot();
root.appendChild(clone);

document.querySelector('button').onclick = function(e) {
    var formValues = $('#docForm').serialize();
    
    alert(formValues);
    $('#result').text(formValues);
    return false;
}

document.querySelector('#host').shadowRoot.querySelector('button').onclick = function(e) {
    var form = document.querySelector('#host').shadowRoot.querySelector('#shadowForm');
    
    alert($(form).serialize());
  $('#result').text($(form).serialize());
    return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<template id="template">
    <form id="shadowForm">
        <input type="text" name="text"/>
        <button type="submit">Submit shadow form</button>
    </form>
</template>


<form id="docForm" >
    <table>
    <tr>
        <td>
            <input type="checkBox" name="checkBox"/>
        </td>
    </tr>
    <tr>
        <td>
            <input type="text" val="" name="text"/>
        </td>
        </tr>
    <tr>
        <td>
            <select name="multiple" multiple="multiple">
                <option>A</option>
                <option>B</option>
                <option>C</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>
            <div id="host"></div>
            <button type="submit"> Submit document Form</button>
        </td>
    </tr>
    </table>
</form>


<div id="result"></div>

IMO它按预期工作,当你提交一个在轻DOM中的表单,其中包含一个元素的shadowRoot中的表单,它们都呈现完美.

just how isolated the internals of a WebComponent are to the ancestor
elements that contain them

Shadow Root是与特定元素相关联的不同节点,它不能使用常规DOM操作API访问,因此不会干扰轻型DOM标记,在这种情况下是form-in-form规则.

I Could imagine that if nesting of forms is not possible using
WebComponents … if a consumer isn’t aware of the internals of the component.

因此,要回答这个问题,用户可以在页面上放置他们想要的任何html,如果该组件使用shadow DOM进行封装,则其渲染行为不会受到他们使用的组件的影响.

HTML中如何使用html表单提交的操作

HTML中如何使用html表单提交的操作

这次给大家带来html中如何使用html表单提交的操作,使用html表单提交的注意事项有哪些,下面就是实战案例,一起来看一下。

这里我们介绍一下form元素与表单提交方面的知识。

form元素

form元素的DOM接口是HTMLFormElement,继承自HTMLElement,因而它与其他的HTML元素拥有相同的默认属性,不过它自身还有几个独有的属性和方法:

属性值

立即学习“前端免费学习笔记(深入)”;

说明

accept-charset    服务器能够处理的字符集,多个字符集用空格分割    

action    接受请求的URL,该值可以被form元素中的input或button元素的formaction属性覆盖    

elements    表单中所有控件集合(HTMLCollection)    

enctype    请求的编码类型,该值可以被form元素中的input或button元素的formenctype属性覆盖    

length    表单中控件的数量    

method    要发送的HTTP请求类型,通常是“get”或“post”,该值可以被form元素中的input或button元素的formmethod属性覆盖    

name    表单的名称    

reset()    将所有表单域重置为默认值    

submit()    提交表单    

target    用于发送请求和接收响应的窗口名称,该值可以被form元素中的input或button元素的formtarget属性覆盖    

autocomplete    是否自动补全表单元素    

input元素

input元素是应用非常广泛的表单元素,根据type属性值的不同,有以下几种常用用法:

文本输入
提交输入
单选钮输入
复选框输入
数字输入 输入框只能输入数字,可设置最大值,最小值。
范围输入 类似number,但它会显示一个滑动条,而不是输入框。
颜色输入会弹出一个颜色选择器。
日期输入 会弹出一个日期选择器。
email输入 显示为一个文本输入框,并会弹出一个定制键盘。
tel输入 跟email输入类似
url输入 跟email输入类似,也会弹出一个定制键盘。
textarea元素可以创建一个多行的文本区。

其中cols和row的属性值分别表示文本区宽度和高度的字符。
select元素和option元素结合使用可创建一个下拉菜单。

radio

如何 分组? 设置不同的 name属性即可

例:

玩游戏
写代码


女、
这就是两组radio

placeholder

提供可描述输入字段预期值的提示信息(hint)。
该提示会在输入字段为空时显示,并会在字段获得焦点时消失。

type=hidden

定义隐藏的input。隐藏字段对于用户是不可见的。隐藏字段通常会存储一个默认值,它们的值也可以由 JavaScript 进行修改。
比如用于安全方面,给后台传输用户不可见的name 和value值,让后台做校验,防伪造页面。

提交按钮

在form中加入一个提交按钮,便可使用户得以提交表单。

下列三种按钮皆可在点击时触发表单的submit事件:

<input type="submit" />
<button type="submit"></button>
<input type="image" />
登录后复制

规范中button元素的type默认值是submit,但是在IE678下默认值是button,所以从兼容性考虑有必要为button元素手动加上type="submit"属性。

submit事件

初心者可能会认为表单提交是提交按钮的click事件触发,其实不然,按钮元素的click事件与表单的submit事件在不同的浏览器中执行顺序不一,所以为了能准确控制表单提交事件,我们会选择在表单的submit事件中执行验证等操作。

form.addEventListener(&#39;submit&#39;, function (e) {
  if (valid()) {
    ...
  }
  e.preventDefault()
})
登录后复制

当form元素中没有上述的三个按钮中任何一个的时候,用户将无法提交表单(回车键也无效),此时可以利用form元素特有的submit()方法执行提交表单,需要注意的是调用submit()方法并不会触发form元素的submit事件,表单的验证等操作应该在调用submit()方法之前。

if (valid()) {
  form.submit()
}
登录后复制

表单提交与用户体验

基于现在流行的ajax+跨域POST(CORS)技术,我们很可能不使用form元素直接向服务器提交数据。这虽然可行,但在大多数情况下存在着体验劣化现象。

JavaScript 表单验证

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

被 JavaScript 验证的这些典型的表单数据有:

用户是否已填写表单中的必填项目?
用户输入的邮件地址是否合法?
用户是否已输入合法的日期?
用户是否在数据域 (numeric field) 中输入了文本?
必填(或必选)项目

下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):

function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
  {alert(alerttxt);return false}
else {return true}
}
}
登录后复制
<html>
<head>
<script type="text/javascript">
 
function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {alert(alerttxt);return false}
  else {return true}
  }
}
 
function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(email,"Email must be filled out!")==false)
    {email.focus();return false}
  }
}
</script>
</head>
 
<body>
<form action="submitpage.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>
 
</html>
登录后复制

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

怎样在HTML网页中插入视频

html怎样格式化输出JSON数据

怎样用HTML做出移动端固定悬浮半透明搜索框

以上就是HTML中如何使用html表单提交的操作的详细内容,更多请关注php中文网其它相关文章!

关于如何提交不带重定向的html表单?如何提交不带重定向的html表单信息的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ASP .NET MVC 3 – 如何提交嵌套在html表单中的ajax表单、html – 使用window.location.href重定向表单的提交、html5 – Web组件是否允许嵌套HTML表单?、HTML中如何使用html表单提交的操作等相关内容,可以在本站寻找。

本文标签: