我正在用 python 开发一个单页 Flask 应用程序。要更改页面的内容,我只需调用一个 javascript 函数来隐藏一个 div 并显示另一个。
其中一个 div 包含一个表单,用户可以在其中上传文件,我通过一个解析文件数据的 python 脚本运行该文件。
问题是在执行代码后,Flask 似乎想让我重定向到一个新页面。我更愿意返回一个触发器来简单地运行我的 javascript 函数。
HTML 表单:
<form class='upload-form' id='upload-form' action="/upload" method='POST' enctype="multipart/form-data" onsubmit="return show_and_hide('load', 'upload')">
<input type="file" name='file' value="Browse...">
<input type="submit" value='Upload'>
</form>
Run Code Online (Sandbox Code Playgroud)
Javascript 函数:
var callFunction;
function show_and_hide(div_in, div_out){
var shower = document.getElementById(div_in);
var hider = document.getElementById(div_out);
var hider_items = hider.children;
var i;
for(i = 0; i < hider_items.length; i++){
hider_items[i].style.animation = "hide 1s";
}
callFunction = setTimeout(change_div, 1000, div_in, div_out);
var shower_items = shower.children; …Run Code Online (Sandbox Code Playgroud) 我的应用程序包含一个故事板,它以一个导航控制器和一个视图控制器开始,上面有两个按钮,通向两个进一步的导航控制器。我已将主视图控制器设置为初始控制器,并将主界面和启动屏幕文件指向 Main.storyboard。应用程序构建良好,启动模拟器,显示初始视图控制器一秒钟,然后变黑。目前,我没有 usbc-ligntning 电缆来在我的实际设备上测试这个,并且对 Xcode 不够熟悉,不知道发生了什么。代码几乎是默认的:
AppDelegate.swift:
import UIKit
import CoreData
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
// MARK: UISceneSession Lifecycle
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return …Run Code Online (Sandbox Code Playgroud)