en un file no se puede usar value por eso debes usar javascript, recuperas el valor en un input y agregas un campo file, si quiere cambiar la imagen solo debes activar y desactivar el input o el file, si activas el file subes una nueva imagen, si no, la imagen que se envia es la que se ibtiene con el input text.
un ejemplo muy sencillo.
Código HTML:
<form name="form1" action="mod-serie.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>
<p class="style">Link de la imagen:</p>
</td>
<td>
<input type="text" name="imagen" id="text" value="" size="40" />
</td>
</tr>
<tr>
<td>
<p class="style">Subir imagen</p>
</td>
<td>
<input type="file" name="upload" id="file" disabled="disabled"/>
<input name="checkbox1" type="checkbox" id="checkbox1" onChange="document.form1.text.disabled = true; document.form1.file.disabled = false; text.disabled = this.checked; file.disabled = !this.checked;" value="checkbox"/>
</td>
</tr>
</table>
</form>