私は、MVCアクションに送信する必要がある3つのフィールドを持つ非常に単純なフォームを持っています。フォームはapplication/x-www-form-urlencodedである必要があります。ただし、フィールドの1つは、すでに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をデコードする必要があるフィールドです。これらの値を自分でエンコード解除するようにユーザーに依頼することもできますが、それらはそれほど洗練されたユーザーではなく、おそらく発生しないでしょう。
前もって感謝します!
失敗したコードで更新されました