【问题标题】:Submitting radio button values without page refresh提交单选按钮值而不刷新页面
【发布时间】:2013-11-04 22:54:32
【问题描述】:


我目前有单选按钮来选择用户希望在网站上使用的付款方式,他们可以在(发票、卡、部分付款(?))之间进行选择。

我正在使用脚本来提交单选按钮,因此不需要按钮,但是每次他们选择不同的付款选项时页面都会重新加载,这对客户不利,因为他们必须再次向下滚动才能输入选择单选按钮时出现的表单(电话号码等)。

因此,经过几次投诉后,我一直在尝试解决此问题,以使表单在页面不刷新的情况下显示。

是否可以对脚本进行一些更改以使其成为可能?

提前致谢。

这是我使用的脚本:

function autoSubmit(){
    var formObject = document.forms['choice_form'];
    formObject.submit();
}

这是 PHP://我使用 post 值来显示输入电话号码和电子邮件的表单

<?php 
 $value = '';
  if(isset($_POST['choice'])) {
   $value = $_POST['choice'];
  }
?>

这是“广播”表单:

<form name="choice_form" id="choice_form" method="post">
   <table>
     <tr>
      <td>
        <input type="radio" name="choice" <?php if ($value == 'faktura') { ?>checked='checked' <?php } ?> onChange="autoSubmit();" value="faktura"> Faktura
      </td>
    </tr>
    <tr>
      <td>
        <input type="radio" name="choice" <?php if ($value == 'kort-direkt') { ?>checked='checked' <?php } ?> onChange="autoSubmit();" value="kort-direkt"> Kort / Direktbetalning
      </td>
    <tr>
      <td>
        <input type="radio" name="choice" <?php if ($value == 'delbet') { ?>checked='checked' <?php } ?> onChange="autoSubmit();" value="delbet"> Delbetalning
      </td>
    </tr>
  </table>
</form>

【问题讨论】:

  • return false; 添加到您的autoSubmit() 函数中。
  • 根据autoSubmit() 的调用/绑定方式,您可以尝试从中返回false
  • 或者你可以使用AJAX
  • AJAX 是您的答案,但为什么您要先提交此单选按钮?
  • @TiMESPLiNTER 我试过了,页面还在刷新。

标签: javascript php jquery forms


【解决方案1】:

如果每次选择支付选项时需要在单选按钮下方显示不同的表单,您可以在单个&lt;div&gt;s 中将所有表单呈现为隐藏状态,然后在每次选择选项时显示相应的&lt;div&gt;已选中。

如果您需要做比这更复杂的事情,您可能需要使用 AJAX。

【讨论】:

  • 是的,但是否仍需要提交表单才能从单选按钮获取值?
  • 如果您只使用单选按钮来显示/隐藏不同的表单部分,那么您不需要将值提交回服务器以确定要显示的表单部分。在表单的末尾有一个提交按钮,对吧?届时将最终提交表单以及特定的付款方式数据。
  • yes末尾有一个提交按钮,用于将数据插入数据库。我会用 div 试一试,看看我能不能让它工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多