我如何获得zurb基础滑块数据表单值

时间:2018-03-19 21:46:59

标签: javascript php forms zurb-foundation zurb-foundation-6

我在这里使用一些Foundation组件制作表单。我正在使用滑块:

// the slider element. starts at 1 ends at 4 allows 1 step at a time
    <div class="slider" data-slider data-start="1" data-initial-start="1" data-step="1" data-end="4">
    <span class="slider-handle"  data-slider-handle role="slider" tabindex="1" aria-controls="select"></span>
    <span class="slider-fill" data-slider-fill></span>
    </div>

// the input box that shows the sliders value
    <input type="number" id="select" name="select" size="2">

现在这是我需要帮助的问题,当提交表单时(POST方法)它发送输入的值(就像它应该的那样)但是它的纯文本和Id喜欢加密它所以POST变量价值观并不明显。

但是,由于from值的输出似乎来自javascript插件(滑块),我不知道如何捕获它的值并在发送之前对其进行加密。

我怎样才能做出像这样的工作:

value=<?php echo my_encrypt("", $key); ?>

&#34;&#34;是滑块的值。

1 个答案:

答案 0 :(得分:0)

您将无法使用PHP加密该值,因为它是服务器端技术。您的加密需要在JavaScript中完成。

我假设您有充分的理由进行加密,但无论如何都要快速提及:如果您通过HTTPS提交,则无需加密您发送的值。 HTTPS已经这样做了。

如果您没有通过HTTPS提交,一种方法是从当前的数字输入中删除该名称,以便它不会随表单一起提交,并保留第二个带有加密值的隐藏输入,如下所示:

// the input box that shows the sliders value
<input type="number" id="select" size="2">
// the input that will store the encrypted value
<input type="hidden" name="select" value="">

然后,每当滑块值改变时,加密可见数字输入中的值并将其存储在隐藏输入中(我假设因为你使用的是Foundation,你可以使用jQuery):

$(document).on('changed.zf.slider', '[data-slider]', function(event) {
  var $slider = $(event.currentTarget);
  var $numberInput = $slider.siblings('#select');
  var $hiddenInput = $slider.siblings('[name="select"]');
  var numberInputValue = $numberInput.val();
  var encryptedValue = yourEncryptionFunction(numberInputValue);

  $hiddenInput.val(encryptedValue);
});

提交表单后,将提交您存储在隐藏输入中的加密值,并且将忽略可见数字输入,因为它没有名称属性。