我有两个函数,一个是PHP,第二个是JQuery。我希望他们在相同的按钮点击激活。但是我希望fisrt能够激活PHP函数,然后激活JQuery。我怎样才能做到这一点。这是我的代码。问题是JQuery函数中的这一行
var imagename = "<?php echo $nameoffile ?>";
当我用硬编码变量替换它时,一切正常。如何控制执行顺序?
HTML:
<form id ="submit_leave_email" enctype="multipart/form-data" method="POST" >
<div class="form1">
<div class="radio-line" id="radio-manager" style="font-size:12px">
<input type="radio" id="rad-400" name="radio-manager" value="No"/> Registered
<input type="radio" id="rad-400" name="radio-manager" value="No"/> Unregistered
</div> <br>
<h4 class="manager" style="font-size:12px">ID of car is :</h4><br><br>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" class="input_1" />
<input id="fileupload" name="uploadedfile" type="file" class="input_1" /><br/>
<input id="brand" type="text" value="Name of car :" class="input_1" name="brand" /><br></div> <br>
<div id = "image" style="width:100px; height:100px"></div></div>
<input id="submit" type="submit" name="submit" value="submit">
</form>
PHP:
<?php
if(isset($_POST['submit'])){
$target_path = "images/";
$nameoffile = basename( $_FILES['uploadedfile']['name']);
$target_path = $target_path . $nameoffile;
echo $nameoffile;
if(!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "There was an error uploading the file, please try again!";
}
}
?>
JQuery:
<script type="text/javascript">
$( "#submit_leave_email" ).submit(function( event ) {
var brand = $('#brand').val();
var id = localStorage.getItem("id");
if($('#rad-400').is(':checked')){
var ide = 'reg';
} else {
var ide = 'unreg';
}
var imagename = "<?php echo $nameoffile ?>";
$.ajax({
type: "POST",
url: "updateCarSql.php",
data: "ide=" + ide + "&id="+ id + "&brand="+
brand+"&imagename="+imagename,
success: function(){
$("#submit_leave_email").fadeOut();
$("#update_success1").fadeIn();
}
});
});
</script>
答案 0 :(得分:1)
PHP代码在服务器上运行,jQuery在客户端运行,因此在jQuery之前执行问题的严格答案是ISSET
;然而,这并没有真正帮助你。
在提交表单之前,您似乎正在尝试使用PHP获取jQuery代码的文件名。这是一个问题22,因为PHP代码在您提交表单之前不会运行。
如果您想获得所选的文件名,则需要使用javascript。看看这个问题 - Use jQuery to get the file input's selected filename without the path
另请查看preventDefault
因为我怀疑您不想进行ajax调用并提交表单。