0

ドラッグアンドドロップを使用してユーザーアバターを更新していますが、非常に行き詰まっていて、助けが必要です。

Javaの経験はあまりありません。ユーザーが新しい画像をドラッグ/ドロップすると、データベースに書き込まれ、適切にアップロードされます。非常に簡単だと思ったのは、画像がアップロードされたことをJson経由で投稿ウィンドウに戻してから、ユーザーに新しいアバターを表示するページを更新することだけです。

  <script id="template-upload" type="text/x-jquery-tmpl">
  <tr class="template-upload{{if error}} ui-state-error{{/if}}">
    <td class="preview"></td>
    <td class="name">{{if name}}${name}{{else}}Untitled{{/if}}</td>
    <td class="size">${sizef}</td>
    {{if error}}
        <td class="error" colspan="2"><b>Error</b> :
            {{if error === 'maxFileSize'}}File too large! <br><small>(Files must be under 3Mb)</small>
            {{else error === 'minFileSize'}}File too small! <br><small>(The file must be greater than 50Kb)</small>
            {{else error === 'acceptFileTypes'}}Invalid file type! <br><small>(Upload pictures only)</small>
            {{else error === 'maxNumberOfFiles'}}Max number of files exceeded
            {{else}}${error}
            {{/if}}
        </td>
    {{else}}
        <td class="progress"><div></div></td>
        <td class="start"><button>start</button></td>
    {{/if}}
    <td class="cancel"><button>cancel</button></td>
  </tr>
 </script>
<script id="template-download" type="text/x-jquery-tmpl">       

<tr class="template-download{{if error}} ui-state-error{{/if}}">
    {{if error}}
        <td></td>
        <td class="name">${name}</td>
        <td class="size">${sizef}</td>
        <td class="error" colspan="2"><b>Error</b> :
            {{if error === 1}}File exceeds upload_max_filesize (php.ini directive)
            {{else error === 2}}File exceeds MAX_FILE_SIZE (HTML form directive)
            {{else error === 3}}File was only partially uploaded
            {{else error === 4}}No File was uploaded
            {{else error === 5}}Missing a temporary folder
            {{else error === 6}}Failed to write file to disk
            {{else error === 7}}File upload stopped by extension
            {{else error === 'maxFileSize'}}File is too big
            {{else error === 'minFileSize'}}File is too small
            {{else error === 'acceptFileTypes'}}Filetype not allowed
            {{else error === 'maxNumberOfFiles'}}Max number of files exceeded
            {{else error === 'uploadedBytes'}}Uploaded bytes exceed file size
            {{else error === 'emptyResult'}}Empty file upload result
            {{else}}unknown error has occured.<br><small>(Try again later)</small>
            {{/if}}

        </td>
    {{else}}        


<td class="preview">
            {{if thumbnail_url}}
            THIS IS WHERE I WANT THE REDIRECT TO BE SO THAT NEW AVATAR IS DISPLAYED
                <a href="${url}" target="_blank"><img src="${thumbnail_url}" width="80" height="80"></a>
            {{/if}}
  </td>
        <td class="name">
            <a href="${url}"{{if thumbnail_url}} target="_blank"{{/if}}>${name}</a>
        </td>
        <td class="size">${sizef}</td>
        <td colspan="2"></td>
    {{/if}}
    <td class="delete">
        <button data-type="${delete_type}" data-url="${delete_url}">Sil</button>
    </td>
  </tr>
</script>
4

1 に答える 1

2

JavaScript リダイレクトは次の形式を取ります。

<script type="text/javascript">
    window.location = "http://www.google.com/"
</script>

これを変える:

    <td class="preview">
        {{if thumbnail_url}}
        {window.location("http://www.mymusicwall.co.uk/avatar.asp");}                
        {{/if}}
    </td>

これに:

    <td class="preview">
        {{if thumbnail_url}}
        {<script type="text/javascript">window.location("http://www.mymusicwall.co.uk/avatar.asp");</script>}                
        {{/if}}
    </td>

編集

あなたのテンプレート システムには詳しくありませんが、リダイレクトをテンプレートの外に配置する必要があります。リダイレクトしたいアクションにイベント ハンドラーをアタッチし、window.locationそのイベント ハンドラー内で上記のように を実行できます。コンソールでエラーを確認してください。これが、あなたが試みていることがうまくいかない理由の大部分であると確信しています。

于 2012-08-14T20:56:21.967 に答える