2010-12-14 78 views
0

我想,当有人提出它(并通过了所有的错误检查) 和文本替换它在哪里,并说像“谢谢您的确认邮件已发送”如何在表单提交时用文本替换表单?

什么是我的一些形式消失我将能够做到这一点?

我有形式的工作和错误检查和一切工作,所有我需要做的是让它消失,当用户点击提交..

我使用PHP的,谢谢!如果你正在使用AJAX提交

+0

您是否提交表单提交AJAX或标准格式? – Nicole 2010-12-14 21:03:25

+0

我使用标准 – George 2010-12-14 21:10:14

+0

使用** element **。style.display使表单元素不可见。可能是最简单的方法。如果你想留在同一页面上,请确保你使用AJAX来激活你的PHP代码。另外,请确保您的按钮不是键入“提交”。它应该是“按钮”,否则它会提交,你会失去网页。 – Lockhead 2010-12-14 21:12:08

回答

0
var td = document.forms.contact.parentNode 
if (td.innerHTML) { 
    td.innerHTML = "your message" 
} else { 
    td.textContent = "your message" 
} 

,把它在结束 如果您使用的是基本形式,把它作为一个功能,在窗体的onsubmit属性

例子:

<form onSubmit="emptyForm();" 
0

你将需要使用一些Javascript来:
1.)通过AJAX提交表格,
2.)更改元素的内容持有表格

<div id='myForm_container'> 
    <form id='myForm'> 
     <input id="name" name="name"> 
     <input id="email" name="email"> 
     <input type=submit id='mySubmit'> 
    </form> 
</div> 

<script> 
    $('#mySubmit').click(function(){ 
     //do your validation and if passes: 
     $.post("form_submit.php", { name: $('#name').val(), email: $('#email').val()}, 
     function(data){ 
      $('#myForm_container').html(data); 
     }); 
    }); 
</script> 
+0

在这种情况下,您将有form_submit.php返回您想要替换窗体的HTML。 – FatherStorm 2010-12-14 21:14:20

0

我没有测试http://www.sligroup.ca/contact_us.php上的表格,因为我不想发送一条毫无意义的消息。

你所要做的所有事情都包括了你在pif块中输出表单html源代码的脚本部分,检查orm是否已经正确提交。没有JavaScript需要。

简单的例子:

$validFormSubmitted = validateform(); 
... 
if(!$validFormSubmitted){ 
echo $formText; 
} 

[编辑:这将刷新页面,而不形式。你说你想要一个PHP解决方案,但如果你不想重新加载页面,你将不得不使用AJAX]

+0

我不太明白你的意思...什么是$ formText? – George 2010-12-14 21:45:30

+0

$ formText是你应该把你的窗体的HTML。 – 2010-12-15 08:18:21