2

我有一个非常简单的表单,其中包含三个需要提交给 mvc 操作的字段。表单必须是 application/x-www-form-urlencoded。但是,其中一个字段由用户复制和粘贴已被 urlencoded 的值填充。我想在提交表单之前解码该值。这看起来很简单,但我的javascript一直遇到问题。

这是代码:

   <html>
    <head>
<script>
function decodeURI()
{
decodeURIComponent(document.createprofile.URI.value);
}
</script>
    <title>Test Create</title>
    </head>
    <body>
    <center>
    <h1> Spoof Profile Calls </h1>
    <hr>
    <div style="border: 1px solid black; width: 300px;">
    <b>Create</b>
    <form method="post" action="https://test.test-lab.com/Profile/Create/" name="createprofile">
    <input type="hidden" name="ReturnURL" value="self.close()">
    UserName: <input type="text" name="UserName"><br />
    Client: <input type="text" name="Client"><br />
    URI: <input type="text" name="URI" onblur="decodeURI();"><br />
    <input type="submit" formenctype="application/x-www-form-urlencoded" value="Go To - Create"><br />
    </form>
    </div>
    </body>
    </html>

URI 字段是在提交之前需要对 url 进行解码的字段,因为它会被重新编码并因此损坏。我可以要求用户自己取消对这些值的编码,但他们不是非常老练的用户,而且很可能不会发生。

先感谢您!

更新失败代码

4

1 回答 1

2

换行

URI: <input type="text" name="URI" onblur="decodeURI();"><br />

经过

URI: <input type="text" name="URI" onchange="decodeURI(this);"><br />

并做类似的事情

function decodeURI(elm) {
    elm.value = 'foo ' + elm.value + ' bar';
    return false;
}
于 2012-12-04T05:16:46.637 回答