如何在视图mvc razor asp.net中使用jquery真人?

时间:2016-04-11 14:34:52

标签: javascript c# jquery asp.net-mvc

我在keith-wood.name/realPerson.html使用了jQuery Real Person。但是,在配置和测试之后,它不起作用。以下是视图中的代码段。看起来没关系,显示capcha

enter image description here

    $('.realperson_text').realperson({
        length: 6,
        chars: $.realperson.alphanumeric
});
  <div class="form-group input-group-sm">
                    <h5>Capcha</h5>
                    <div class="realperson_text"></div>
                    @Html.TextBoxFor(p => p.defaultReal, new { @class = "form-control text-uppercase", @placeholder = "type capcha code", @maxlength = "6" })
 </div>
这是行动,代码片段

public ActionResult UploadProfile(TestModel capcha_demo)
{
        var salt = 12345;   
        if (rpHash(capcha_demo.defaultReal + salt) != Request.Form["realPersonHash"])
        {
            ViewBag.Message = "Capcha wrong";
        }
}

是的,作为主页中的演示,我不知道Request.Form["realPersonHash"]是什么。 你能告诉我怎么去吗?

1 个答案:

答案 0 :(得分:0)

此插件使用它在表单提交之前添加元素的技巧。

在插件代码jquery.realperson.js第112行中,您有以下代码:

on('submit.' + inst.name, function() {
                var name = inst.options.hashName.replace(/\{n\}/, elem.attr('name'));
                var form = $(this);
                form.find('input[name="' + name + '"]').remove();
                form.append('<input type="hidden" class="' + self._hashClass + '" name="' + name +
                    '" value="' + hash(text + salt) + '">');
                setTimeout(function() {
                    form.find('input[name="' + name + '"]').remove();
                }, 0);
            });

您可以看到它添加了一个输入(form.append),并在提交

之后删除它
form.find('input[name="' + name + '"]').remove();

这就是所有技巧!

相关问题