表单不会发布从jQuery编辑的数据

时间:2015-06-13 19:23:54

标签: javascript jquery

我有一个非常简单的应用程序,其中包含一个表单和2个按钮。'

描述

当用户点击第一个按钮时,网站会检查他是否有折扣优惠券,如果有,则根据优惠券计算折扣额。这很简单。如果用户没有输入代码,则进动继续正常。

问题

根据我发布的数据,我还发布了优惠券字段。如果用户输入了有效的优惠券,那么我使用jQuery禁用优惠券输入,并且我也禁用了ammount字段。这导致一个问题,使用jQuery和#34; unpostable"。

编辑字段

例如,如果您没有输入优惠券代码,那么该字段保持解锁状态,jQuery从不编辑它。

代码

library(shiny)
if (packageVersion('DT') < '0.1.3') devtools::install_github('rstudio/DT')
library(DT)
shinyApp(
  ui = fluidPage(
    fluidRow(
      h1('Client-side processing'),
      DT::dataTableOutput('x1'),
      h1('Server-side processing'),
      DT::dataTableOutput('x2')
    )
  ),
  server = function(input, output, session) {
    output$x1 = DT::renderDataTable(
      iris, server = FALSE,
      selection = list(mode = 'multiple', selected = c(1, 3, 8, 12))
    )
    output$x2 = DT::renderDataTable(
      iris, server = TRUE,
      selection = list(mode = 'multiple', selected = rownames(iris)[c(1, 3, 8, 12)])
    )
  }
)

JS部分

<form class="form-horizontal row-fluid" action="<?= base_url() . 'transactions/new' ?>" method="POST" id="form" name="form">



                <div class="control-group">
                    <div class="alert js_hidden" id="psc_val_warning">
                        Παρακαλούμε εισάγεται το ποσό που αντιστοιχεί στα PINS
                    </div>
                    <label class="control-label" for="basicinput">Συνολικό ποσό</label>
                    <div class="controls">
                        <div class="input-append">
                            <input type="number" name="psc_val" class="span8" id="psc_val" required><span class="add-on">&euro;</span>
                        </div>
                    </div>
                </div>



                <div class="control-group">
                    <div class="alert alert-error js_hidden" id="coupon_error">
                        Το κουπόνι δεν είναι έγκυρο!
                    </div>
                    <div class="alert alert-success js_hidden" id="coupon_success">
                        Το κουπόνι εξαργυρώθηκε με επιτυχία!
                    </div>
                    <label class="control-label" for="basicinput">Κουπόνι</label>
                    <div class="controls">
                        <div class="input-prepend">
                            <span class="add-on">#</span><input class="span8" id="coupon_code" type="text" name="coupon_code" maxlength="11">       
                        </div>
                    </div>
                </div>

                <hr>

                <div class="control-group">
                    <label class="control-label" for="basicinput">Σημειώσεις</label>
                    <div class="controls">
                        <textarea class="span8" rows="5" name="notes"></textarea>
                    </div>
                </div>

                <hr>
                <center>    
                    <button class="btn btn-large btn-success js_hidden" id="proceed_btn" onclick="submit_form()">Proceed</button>
                </center>
            </form>
            <center>
                <a class="btn btn-large btn-info" onclick="validate()" id="check_btn">Check</a>
            </center>

还有另一部分可以使用优惠券并使用API​​查看折扣价值,但它几乎完全相同function display_proceed_btn() { $("#psc_val").prop('disabled', true); $('#check_btn').fadeOut( "slow", function() { $('#proceed_btn').fadeIn( "slow", function() { }); }); } function submit_form() { $('#form ').submit(); }

1 个答案:

答案 0 :(得分:0)

禁用输入字段后,将优惠券代码添加到隐藏字段。 请记住实际重新计算服务器上的最终金额,而不是信任任何用户可编辑字段; - )