2012-12-04 56 views
2

我有一個非常簡單的表單,需要提交三個字段,才能提交給mvc操作。表單必須是application/x-www-form-urlencoded。但是,其中一個字段由複製並粘貼已經urlencoded值的用戶填充。我想在提交表單之前解碼該值。這看起來很簡單,但我一直用我的JavaScript運行proplems。提交html文本框的UrlDecode值提交

下面是代碼:

<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之前提交解碼的一個。我可以要求用戶自己對這些值進行解碼,但他們不是非常複雜的用戶,而且很可能不會發生。

預先感謝您!

更新,未能CODE

+0

嗨,你可以使用,onChange該文本字段的列表程序並使用javascript更改該文本字段的值。 –

+0

我試過類似的東西,但收到一個錯誤,說「不能讀取屬性值」或未定義「也許你可以幫助我的JavaScript? – RockyMountainHigh

+0

你可以發佈代碼你有什麼嘗試/ –

回答

1

通過

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

替換行

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

,並完成類似

function decodeURI(elm) { 
    elm.value = 'foo ' + elm.value + ' bar'; 
    return false; 
} 
+0

你搖滾!謝謝! – RockyMountainHigh