在原始html中捕获INPUT值

时间:2014-09-24 17:31:32

标签: javascript jquery html

好吧,这可能吗?

我有这个html页面: `

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="/Scripts/jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#form1").submit(function (event) {
                event.preventDefault();
                var html = replaceAll($('html')[0].outerHTML, "<", "&lt;")
                html = replaceAll(html, ">", "&gt;");
                document.body.innerHTML = document.body.innerHTML + "<hr />" + html;
            });
        });

        function replaceAll(string, find, replace) {
            return string.replace(new RegExp(escapeRegExp(find), 'g'), replace);
        }

        function escapeRegExp(string) {
            return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            Enter text here:
            <input type="text" id="TextBox1" />
            <p>
                Press enter to capture HTML.
            </p>
        </div>
    </form>
</body>
</html>

`

此页面只是在帖子后捕获当前的html,然后显示它以供查看。因此,替换语句改变&lt;和&gt;进入&lt;和&gt; 。这个页面的目的是捕获当前的HTML。

当我进入&#34; Yabadabdoo!&#34;在文本框中按回车键,我在html中得到以下结果: <input id="TextBox1" type="text">

但我想得到的是: <input id="TextBox1" type="text" value="Yabadabadoo!" />

我做错了什么,或者JQuery / Javascript甚至可以从INPUTS中捕获值?

1 个答案:

答案 0 :(得分:0)

如果你真的想在html字符串中输入值,你必须捕获input-element的value-property,然后将其value-attribute设置为该值。

要执行此操作,请在submit-callback之后插入event.preventDefault()

var inp = $("input"); inp.attr('value', inp.val());