我可以制作一个html表单来执行两个动作吗?

时间:2014-11-19 00:50:11

标签: html html-form html-form-post html-formatting

我可以使用我的HTML表单执行多项操作吗?

  1. 将信息发布到其他目的地。
  2. 提交表单后,将用户导航到另一个页面。
  3. 目前我可以将填好的表单发布到目的地,但不能专门使用HTML将用户导航到另一个页面。 HTML中是否有任何方法可以执行此操作?

     <style>
       label {
       float: left;
       width: 150px;
       text-align: right;
       padding-right: 15px;
       margin-top: 15px;
       clear: left;
       }
       input, textarea {
       margin-top: 15px;
       }
       #submit {
       margin-left: 150px;
       padding: 15px;
       }
       select {
       margin-top: 10px
       }
    </style>
    <form action="https://www.salesforce.com/servlet/servlet.WebToCase?encoding=UTF-8" method="POST">
       <input type=hidden name="orgid" value="00D90000000qWA6">
       <input type=hidden name="retURL" value="http://">
       <!-- ---------------------------------------------------------------------- -->
       <!-- NOTE: These fields are optional debugging elements. Please uncomment -->
       <!-- these lines if you wish to test in debug mode. -->
       <!-- <input type="hidden" name="debug" value=1>                              -->
       <!-- <input type="hidden" name="debugEmail" value="smoiz88@gmail.com">       -->
       <!-- ---------------------------------------------------------------------- -->
    
    
      <label for="first_name">First Name</label>
       <input id="first_name" maxlength="40" name="first_name" size="40" type="text" required />
       <br>
       <label for="last_name">Last Name</label>
       <input id="last_name" maxlength="40" name="last_name"  size="40" type="text" required />
       <br>
       <label for="email">Email</label>
       <input id="email" maxlength="80" name="email" size="40" type="text" required />
       <br>
       <label for="phone">Phone</label>
       <input id="phone" maxlength="40" name="phone" size="30" type="text" />
       <br>
       <label class="label">Site</label>
       <select class="select" id="Site" name="site" title="Site">
          <option value="None">None</option>
          <option value="Armadale">Armadale</option>
          <option value="Elsternwick">Elsternwick</option>
          <option value="Hawthorn">Hawthorn</option>
          <option value="Manila">Manila</option>
          <option value="UK">UK</option>
          <option value="Other">Other</option>
       </select>
       <br>
       <br>
       <label class="label">Salesforce Profile</label>
       <select class="select" id="Profile">
          <option value="None">None</option>
          <option value="Acquire Career Champion">Acquire Career Champion</option>
          <option value="Acquire Career Advisor">Acquire Career Advisor</option>
          <option value="Acquire Career Hunter">Acquire Career Hunter</option>
          <option value="Acquire Data Analyst">Acquire Data Analyst</option>
          <option value="Acquire Retention Specialist">Acquire Retention Specialist</option>
          <option value="Acquire Training Admin">Acquire Training Admin</option>
          <option value="Acquire Qualifier">Acquire Qualifier</option>
       </select>
       <br>
       <br>
       <label for="fault">Fault Title</label>
       <input id="fault" maxlength="20" name="fault" size="30" type="text" required />
       <br>
       <br>
       <label>Fault Type</label>
       <select class="select" id="Type">
          <option value="None">None</option>
          <option value="Password Reset">Password Reset</option>
          <option value="Report Required">Report Required</option>
          <option value="Login Details">Login Details</option>
          <option value="End Of Employment">End Of Employment</option>
          <option value="File Merge">File Merge</option>
          <option value="Insufficient Privilege">Insufficient Privilege</option>
          <option value="Other">Other</option>
       </select>
       <br>
       <br>
       <label for="description">Description</label>
       <textarea name="description"></textarea>
       <br>
       <div id="submit">
          <input type="submit" name="submit">
        </div>
    
    </form>
    

    有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以在执行第一页上的任何操作后使用重定向(来自表单操作的那个)

答案 1 :(得分:0)

如果您控制服务器和/或在同一个域上,事情就很容易,那么您可以进行服务器端重定向。但是,因为你肯定使用salesforce,所以你无法控制它。不过,请仔细检查他们的文档,了解您可以在表单中添加的重定向选项。

如果失败了,我尝试的一件事就是将其提交给iframe:将<iframe name="foo" id="foo"></iframe>添加到您的html(如果需要,也可以将其隐藏)并添加target="foo"到你的形式。然后,还要在延迟后重定向的表单中添加一个onsubmit javascript处理程序,以允许处理表单。延迟的时间可能是错误的来源btw,检查提交表单中的错误不能跨域轻松完成,你猜测。也许iframe上的onload处理程序可以进行重定向,但我不确定,但值得一试。

这也不保证有效,有些网站不喜欢在iframe中。如果失败,您可以尝试设置target="_BLANK"将表单提交到弹出窗口,然后使用javascript或其他内容重定向主窗口。这将要求您向用户发出关闭窗口的指示。

最后,如果您可以通过对salesforce的服务器端API调用提交数据,那也会很好,因为普通的重定向选项会在您的控制之下。