0

这是我的标记代码:

<p>
<label>Reference Code:</label>
<span class="field">
<asp:TextBox ID="GenerateCode" runat="server" CssClass="smallinput random" ></asp:TextBox>
<asp:HiddenField ID="txthidden" runat="server" />
<br /><small style="color: red">Please write the code at the back of yours check</small>
</span>
</p>

这是我的随机函数:

function randomString()
    {
        var chars ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var result = '';
        for (var i = 8; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
        return result;
    }

这是我如何让随机数显示在文本框中:

    function generateRandomNumber() {
            var rndStr = randomString();
            $("#<%=GenerateCode.ClientID%>").val(rndStr);
            $("#<%=txthidden.ClientID%>").val(rndStr);

        }

    window.onload = function () {
        generateRandomNumber();
    }

这是我将其保存在数据库中的方式:

 string EchequeMaster = ClassEmailCheque.InsertEmailCheque(SenderID, Convert.ToInt32(ddlCurrency.SelectedIndex), Convert.ToDecimal(Amount.Text), ChequeNumber.Text, GenerateCode.Text, PendingStatus, DateTime.Now);

我通过使用隐藏字段解决了这个问题......我更新了我的代码以供参考。

4

1 回答 1

0

禁用的文本框(属性Enabled = false)不会回发任何值。解决方案是同时拥有一个禁用的文本框(向用户显示值)和一个将回发值的隐藏字段。您可以将代码重新编写为如下内容:

<asp:TextBox ID="txtGenerateCode" runat="server" CssClass="smallinput random" />
<asp:HiddenField ID="hdnGenerateCode" runat="server" class="random" />

function generateRandomNumber() {
        var rndStr = randomString();
        $(".random").val(rndStr);
    }

希望这可以帮助!

于 2013-06-18T09:06:51.117 回答