我正在从已经创建的网页(php,javascript和smarty)中学习,我保证我一直在努力去理解这段代码,但我的思想不能,我不知道它是如何工作的,我有阅读和阅读,但我仍然不明白。 下一个代码完美无缺,但我不知道如何。这是关于联系表格。 这是原始的php页面:
<?php
include("includes/globals.php");
include("includes/smarty/Smarty.class.php");
$vista = new Smarty();
$vista->display('contacto.tpl');
?>
正如你所看到的,它只显示了contacto.tpl,这是(我将只提供有趣的部分):
<link href="{$smarty.const.__SERVER_URL__}css/estilo.css" rel="stylesheet" type="text/css" />
<link href="../css/estilo.css" rel="stylesheet" type="text/css" />
<link href="../css/coeco.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="{$smarty.const.__SERVER_URL__}scripts/jquery.js"></script>
{literal}
<script>
function validar()
{
$('#formContacto').submit();
}
</script>
{/literal}
</head>
<body>
<form id="formContacto" action="/contacto-enviado.html" method="post">
<table class="formulario_contacto" cellspacing="0" cellpadding="0">
<tr>
<td width="228" height="17">NOMBRE</td>
<td width="110" height="17">TELÉFONO</td>
<td height="17">E-MAIL</td>
</tr>
<tr>
<td><input class="campo_texto" name="nombre" id="nombre" type="text" /></td>
<td><input class="campo_texto2" name="telefono" type="text" /></td>
<td><input class="campo_texto" name="email" id="email" type="text" /></td>
</tr>
</table>
<table class="formulario_contacto" cellspacing="0" cellpadding="0">
<tr>
<td height="17">SU MENSAJE</td>
</tr>
<tr>
<td><textarea class="texto_contacto" name="detalles" rows=5></textarea>
<div align="right"><a class="btn_formulario_contacto2" href="#" onclick="validar()">enviar</a></div></td>
</tr>
</table>
</form>
{include file="foot.tpl"} </div>
</body>
</html>
所以,好吧,好吧,很好,它从表单中获取数据并使用函数submit()提交它,但是函数submit()定义在哪里?我的意思是,是的,我读过http://api.jquery.com/submit/并且它是一种触发器,但必须在某处定义,对吧?哪里?这段代码怎么可能有效呢? 谢谢! 对不起,我知道我是neeeeeeewbie。
答案 0 :(得分:1)
submit()方法在“form”DOM元素上定义。 jQuery只是调用该方法在页面上提交表单。
答案 1 :(得分:1)
jQuery使用的提交函数位于jQuery代码本身内部。你正在使用'smarty'模板引擎在你的页面中包含jQuery这行
<script type="text/javascript" src="{$smarty.const.__SERVER_URL__}scripts/jquery.js"></script>
完成后,您现在可以访问jQuery提供的所有功能,例如提交表单的submit()
函数。 jQuery的版本有助于让您的提交工作跨浏览器。如果您想在提交功能上看到更多内容,请查看here。
答案 2 :(得分:1)
7年后的将来是你。
没有人正确回答您的问题。所以我会尽力的。
<form>
是一个HTML对象,具有一些使其与其他HTML元素区分开的特殊属性,就像<button>
或链接<a>
具有使它们与其他HTML元素区分开的特殊属性一样
尤其是<form>
允许将信息发送到服务器。信息通过HTTP请求发送,使用的方法在属性method
(GET
或POST
)中定义,而在HTTP请求中指定了发送请求的URL属性action
。
通过标准,<form>
的工作方式与其他HTML对象一样,受到控制和指定。负责它的官方机构是W3C,这是表格的规范:
https://www.w3.org/TR/html52/sec-forms.html
该规范随后由浏览器自由实现,因此行为定义的“位置”的详细信息位于浏览器核心的内部。例如,如果您对Chromium Project(Chrome所基于的核心)足够深入地了解,则可能会找到实现。但是,了解这些规范足以使用它。
此表单将从创建此表单的客户端页面创建并发送POST请求,并将表单中输入的信息与相对URL /contacto-enviado.html
要全面了解其工作原理,请检查: https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data
答案 3 :(得分:0)
就像你说submit
是onSubmit
事件的触发器。因此,当它调用它时,只是让表单在窗体上调用该事件...默认情况下,它将与单击表单中的submit
输入完全相同。