我製作了一個HTML表單,它被分成了多個部分。我使用jQuery類添加到根據什麼部分主體元素Jquery:對錶單中的動態類做出反應
已經填寫。
默認情況下,體內有一類purchase-stop
。當所有部分填入時,這將更改爲purchase-go
。
當用戶點擊提交按鈕,我用下面的代碼來顯示一個消息:
$("input").on('click', '.purchase-stop', function()
{
alert("You haven't visited all sections. Please visit them all to ensure you are happy with the choices");
});
麻煩的是,這將顯示出更purchase-stop
已更改爲purchase-go
。
如何才能讓它只在類別爲purchase-stop
時顯示?
此外,窗體上的兩個字段是強制性的。我用下面的代碼來檢查,如果這些強制性的部分被填充:
$(".changing-room").submit(function(e)
{
e.preventDefault();
var isFormValid = true;
$("input.required").each(function()
{
if ($.trim($(this).val()).length === 0)
{
$(this).parent().addClass("error");
isFormValid = false;
}
else
{
$(this).parent().removeClass("error");
}
});
if (!isFormValid)
{
alert("Some fields are blank (highlighted in red). Please fill them in");
$('input').blur();
}
if (isFormValid)
{
$('body').addClass('purchase-active');
window.scrollTo(0, 0);
}
return isFormValid;
});
但同樣,我只想當人體類設置爲purchase-go
(而不是purchase stop
),它運行。
根據Jquery文檔,我必須讓Jquery在一個動態類上運行(因爲purchase-go
不在載入HTML中)。要做到這一點,我必須使用On() function。 的功能上是由如下:
.on("action [e.g. click]", "[trigger element]", function(event)
不過,我指定的觸發要素,但它不工作。
只有在您更改要購買的正文類後,纔會打電話給您的點擊處理程序 – bipen