这是什么:document.reservation.submit();应该做的



我正在修改一个旧开发人员的代码,我正在尝试做一个预订表格。

我已经查看了整个代码,唯一称为保留的是表单的名称和ID。

形成谁是时尚的:display:none...

所以两个问题合二为一:首先到底应该做什么

document.reservation.submit(); 是否应该以他的名字获得表格?

不应该是像document.getElementById('reservation').submit()这样的东西吗?

我的第二个问题是:如果所有值都设置为 display:none 我很难工作,如果您想隐藏它们,您应该使用隐藏属性,如何发送表单......

我需要一些帮助,请:)

投注者理解形式:

<form name='reservation' action='http://xxxx/reservationFormAction.to' method="POST" id="reservation">
    <input type="hidden" id="productLive" name="product" value="{$product.info.code}"/>
    <input type="hidden" name="complementaryParameters" value=""/>    
    <input type="text" name="depCityCode" id="depCityCode" style="display:none"  />
    <input type="text" name="dateDep" id="dateDep" style="display:none" />
    <input type="text" name="nightDuration" id="nightDuration"  style="display:none" />
    <input type="text" name="dayDuration" id="dayDuration"  style="display:none" />
    <input type="text" name="provider" value="{$product.tourOperator.code}" style="display:none" />
    <input type="text" id="toProduct" name="toCode" value="{$product.info.toProductCode}" style="display:none" />
    <input type="text" name="catalogCode" value="{$product.info.code}" style="display:none" />
    {if $ecall}
    <input type="text" name="reservationProfileChannelCode" value="ECALL" style="display:none" />
    {else}
    <input type="text" name="reservationProfileChannelCode" value="ADV" style="display:none" />
    {/if}
    <input type="text" name="nbAdults" id="nbAdults" style="display:none" />
    <input type="text" name="nbChildren" id="nbChildren" style="display:none" />
    <input type="text" name="nbBabies" id="nbBabies" style="display:none" />
    <input type="text" name="productUrl" id="productUrl" style="display:none" value="http://www.xxxx.com/{$product.slug}_{$product.info.code}.html" />
    <input type="text" name="homeUrl" id="homeUrl" style="display:none" value="http://www.xxxx.com" />
    <span id="ageChild" style="display:none"></span>
<div class="update-search clearfix">

document.reservation获取带有name reservation的表单的HTMLFormElement。然后调用 submit 提交表单(不触发 submit 事件(。

那么为什么不document.getElementById呢?这也行得通,但document.reservation有效,因为document对象会自动获得在其上创建的各种属性,包括通过其name引用表单的属性。这在HTML5规范的§3.1.3中有所介绍*(您必须向下滚动一点(:

Document接口支持命名属性。支持的属性名称随时由Document中具有非空name内容属性的所有applet、公开embedformiframeimg和公开object元素的name内容属性的值组成,以及Document中具有非空id的所有applet和公开object元素的id内容属性的值 内容属性,以及Document中同时具有非空name内容属性和非空id内容属性的所有img元素的id内容属性的值。

这些属性的值是nameid来自的元素。

window对象还获取每个带有id元素的属性,如下所述:

支持的属性名称随时按树顺序包含以下内容,忽略后面的重复项:

  • 名称不是空字符串的活动文档的任何子浏览上下文的浏览上下文名称,
  • 活动文档中具有非空name内容属性的所有aappletareaembedformframesetimgobject元素的 name 内容属性的值,以及
  • 活动文档中具有非空id内容属性的任何 HTML 元素的 id 内容属性的值。

其中,这些属性的值再次是nameid来自的元素。

这两种情况下,这都是HTML5规范,标准化了大多数浏览器以前广泛传播但非标准的做法,这种做法在野外的页面上被广泛使用。

<小时 />

如果所有值都设置为显示,如何发送表单:无 我很难它不起作用,如果您想隐藏它们,则应使用隐藏属性...

最好每个问题问一个问题。

CSS display 属性对是否提交表单域完全没有影响;您可能正在考虑该域的disabled状态:禁用的表单域在提交时确实被排除在表单之外。

显示无

或隐藏信息将始终发送,即使您看不到......通常我们会传递一些用户不需要知道的信息,例如 USER_ID=20 .....---- 和

document.reservation.submit

-------提交名称="预订"的表单

相关内容

最新更新