在jquery或javascript中捕获html源代码


capture html source code in jquery or javascript

我尝试过搜索,但没有找到好的解决方案。我的问题是我有一个只有几个文本框的HTML表单。一旦用户输入详细信息并按下提交,我想将此相同的HTML表单发送给管理员电子邮件。问题是我无法获得带值的HTML标记。有什么建议吗。

示例

<div id="user_form" action="" method="post">
<form onsubmit="return validate_me();">
   <table>
      <tr>
         <td>Name</td>
         <td><input type="text" name="test" id="test"/></td>
      </tr>
      <tr>
         <td colspan="2">
           <input type="submit" name="send" id="send" value="Send"/>
           <input type="hidden" name="html_data" id="html_data"/>
         </td>
      </tr>
   </table>
</form>
</div>

所以,一旦用户点击发送按钮,我想将整个表单和值发送到服务器,然后我可以将其发送到管理员电子邮件。我该怎么做。

我试着跟随

<script type="text/javascript>
function validate_me(){
   ("#html_data").val($("#user_form").html());
}
</script>

但上面只发送没有文本框值的标记。以上仅适用于IE 9。safari 5.1.7和FF 23 失败

任何建议都将不胜感激。我还尝试了输出缓冲,但也没有帮助发送表单元素的值。

只需提交您的表单

function validate_me(){
 $('#user_form form').submit();
}

注意:将action属性添加到表单标记

您更新的代码试试这个1,如果它不起作用,请告诉我。

<div id="user_form" >
 <form onsubmit="return validate_me();" method="post" action="SOME_ACTION_URL">
 <table>
  <tr>
     <td>Name</td>
     <td><input type="text" name="test" id="test"/></td>
  </tr>
  <tr>
     <td colspan="2">
       <input type="submit" name="send" id="send" value="Send"/>
       <input type="hidden" name="html_data" id="html_data"/>
     </td>
  </tr>

编辑

 <script type="text/javascript>
  // on ready fill the value and then submit it
  jQuery("document").ready(function () {
     jQuery("#html_data").val($("#user_form").html());
  })
  function validate_me(){
   // YOUR code MUST be return 
  return true;
 }
</script>

我刚刚注意到了同样的问题。我想做的是将一个表单切换为另一个表单,同时保留用户在表单中输入的值,例如消息。我尝试通过console.log输出表单,注意到除了用户输入的数据外,所有表单都显示出来了。

我试图让第二个表单出现,以确保用户同意他们将要做的事情,并通过按钮返回并进行更改。我重新显示了原始形式和TADA David copperfield魔术,该形式在输入中没有任何内容。(文本输入和文本区域)

我不知道为什么会发生这种情况,我猜我所能做的就是在尝试保存表单数据之前,将用户输入的数据存储在一个带名称空间的全局中,然后重新显示表单并一次替换一个字段的用户内容。

有人知道这是什么原因吗?它一定是关于输入在浏览器中的工作方式。