Чтобы убрать флажки, вы можете использовать метод protectDefault. Но тогда вы сами будете отвечать за обработку данных формы.
Вот как это может выглядеть:
<form method="post" action="" name="myForm" >
<input class="color" type="checkbox" name="color[]" value="Black"> // Class matches name
<input class="color" type="checkbox" name="color[]" value="White">
<input class="color" type="checkbox" name="color[]" value="Green">
<input class="language" type="checkbox" name="language[]" value="Punjabi">
<input class="language" type="checkbox" name="language[]" value="Sindhi">
<input class="language" type="checkbox" name="language[]" value="Saraiki">
<!-- The onclick attribute calls our processForm function -->
<input type="submit" onclick="processForm(event)" value="Submit" />
</form>
<script>
function processForm(event) {
event.preventDefault(); // Keeps the form from being submitted/cleared
let checkedColorBoxes = document.querySelectorAll(".color:checked"); // Find checked boxes
let checkedLanguageBoxes = document.querySelectorAll(".language:checked");
// Store the values from the checked boxes
let selectedColors = [], selectedLanguages = [];
for(let i = 0; i < checkedColorBoxes.length; i++){
selectedColors.push(checkedColorBoxes[i].value);
}
for(let i = 0; i < checkedLanguageBoxes.length; i++){
selectedLanguages.push(checkedLanguageBoxes[i].value);
}
// Now we have the values that would have been submitted, and can do what we like with them
// If nothing better comes to mind, one (very kludgy) option is to populate another (hidden)
// form with them and secretly submit that.
console.log(`colors: ${selectedColors}`);
console.log(`languages: ${selectedLanguages}`);
}
</script>
Другой подход заключается в том, чтобы прослушивать изменения флажков и отслеживать их состояния (отмеченные или не отмеченные). Затем в processForm () вы можете пропустить вызов warnDefault () и просто перепроверять соответствующие поля программно.
SQLite поддерживает SCOPE_IDENTITY?
Проверьте FAQ. sqlite3_last_insert_rowid () функция сделает это. Остерегающийся триггеров, хотя
Не протестированный, но необходимо смочь отправить оба оператора в одном вызове. Это было некоторое время, так как я записал любой VB6. Также это не безопасное Внедрение SQL.
Dim oRs as Recordset
dim sSql as String
sSql = "INSERT INTO EventType (EventTypeName) VALUES ('blah'); SELECT last_insert_rowid() FROM EventType"
oRs.Open sSql oConn
Я не использую VB, таким образом, я не знаю интерфейс, Вы используете со своей базой данных, но, как bendewey сказал, в c названном API существует функция sqlite3_last_insert_rowid()
это возвратит основной целочисленный ключ для последней вставленной строки, таким образом, Вы могли искать подобную функцию в своем интерфейсе.
Если это не работает, можно использовать SQLite-определенный запрос:
SELECT last_insert_rowid()
Можно звонить SELECT last_insert_rowid()
после Вашей вставки