使用htmx提交表单,hx-post使用操作的当前路径,而用action属性替换hx-post,我得到了正确的路径.
这不会发送到正确的路径:
<form hx-post="/signup" class="form" id="sign-up-form" name="signupform" hx-trigger="submit" hx-encoding="multipart/form-data" hx-swap="none" hx-target="this">
<div class="p-4">
<h5>Sign Up</h5>
<label>Username:</label>
<input class="form-control" autocomplete="username" type="text" name="usernamesignup"
placeholder="Username" oninput="checkForValidSignUpSubmission()" required
id="usernamesignupinput" />
</div>
<div class="p-4">
<label>Email:</label>
<input class="form-control" type="email" name="emailsignup" autocomplete="email"
placeholder="email@example.com" oninput="checkForValidSignUpSubmission()" required
id="emailsignupinput" maxlength="64" />
</div>
<div class="p-4">
<label>Password:</label>
<input class="form-control" type="password" name="passwordsignup"
autocomplete="new-password" placeholder="Password"
oninput="checkForValidSignUpSubmission()" required id="passwordsignupinput" />
</div>
<div class="p-4">
<label>Confirm Password:</label>
<input class="form-control" type="password" autocomplete="new-password"
placeholder="Password" oninput="checkForValidSignUpSubmission()" required
id="confirmpasswordsignupinput" name="confirmpasswordsignup" />
</div>
<div class="p-4">
<label>Pick a profile picture</label>
<input id="pfpimage" type="file" accept="image/*" name="pfpformfile" required />
</div>
</form>
这does发送到正确的路径:
<form action="/signup" class="form" id="sign-up-form" name="signupform" hx-trigger="submit"
hx-encoding="multipart/form-data" hx-swap="none" hx-target="this">
<div class="p-4">
<h5>Sign Up</h5>
<label>Username:</label>
<input class="form-control" autocomplete="username" type="text" name="usernamesignup"
placeholder="Username" oninput="checkForValidSignUpSubmission()" required
id="usernamesignupinput" />
</div>
<div class="p-4">
<label>Email:</label>
<input class="form-control" type="email" name="emailsignup" autocomplete="email"
placeholder="email@example.com" oninput="checkForValidSignUpSubmission()" required
id="emailsignupinput" maxlength="64" />
</div>
<div class="p-4">
<label>Password:</label>
<input class="form-control" type="password" name="passwordsignup"
autocomplete="new-password" placeholder="Password"
oninput="checkForValidSignUpSubmission()" required id="passwordsignupinput" />
</div>
<div class="p-4">
<label>Confirm Password:</label>
<input class="form-control" type="password" autocomplete="new-password"
placeholder="Password" oninput="checkForValidSignUpSubmission()" required
id="confirmpasswordsignupinput" name="confirmpasswordsignup" />
</div>
<div class="p-4">
<label>Pick a profile picture</label>
<input id="pfpimage" type="file" accept="image/*" name="pfpformfile" required />
</div>
</form>
我动态添加了Submit按钮,它在两种情况下都有效,所以我没有费心将其添加到POST中的代码中.