Проблема в функции очистки функции
function clearbutton()
{
// document.form1.checked= false;
var num1 = document.getElementById("input1").value="";
var num2 = document.getElementById("input2").value="";
}
Вы получаете эту ошибку, потому что вы установили переменную здесь, т.е. form1.checked . либо удалите эту переменную, либо измените ее значение в функции вычисления
Вы всегда хотите подарить пользователю хороший URL - не некоторый противный автоматически сгенерированный идентификатор. Но я не думаю, что необходимо сделать, сказал "дружественный URL" первичный ключ. Необходимо все еще использовать "классика" автоувеличенный, числовой PK и иметь второй столбец, который является уникальным "дружественным URL". Почему?
Нижняя строка: Дружественный URL? Ад да. Используя их как первичный ключ? Ад нет.
Это не по сути угроза безопасности, хотя это действительно говорит внешние вещи объектов о Вашей системе, которая является обычно хорошей практикой для предотвращения.
Как Вы сказали, точкой помещения заголовков непосредственно в URL является SEO. Наличие ключевых слов в URL имеет значительный эффект на результаты поиска.
Однако несколько других мыслей, связанных с Вашими примерами:
Digg на самом деле осуществляет уникальность заголовков (возможно, только в конкретной категории, я не был к Digg в течение многих лет, таким образом, я не могу вспомнить). Я раньше видел это справедливо часто с дублирующейся историей, имеющей URL как:
http://digg.com/space/Liquid_Water_Recently_Seen_on_Mars_2
Это подразумевает, что заголовок является, по крайней мере, частью первичного ключа, так как это - единственный способ определить, на какую историю ссылка намеревалась быть нацеленной.
Нет действительно никакой значительной угрозы безопасности с использованием первичного ключа в URL, кроме способности к людям предположить/предсказать другие, как pantulis упомянутый. Но Вы не должны полагаться, "никто не предположит это" как меры безопасности так или иначе.
Если Вы не включаете первичный ключ (ключи) в URL/ссылку, то необходимо сделать некоторый временный синтетический ключ, И, то, необходимо сохранить отображение того ключа в сессии для пользователя. Это добавляет больше состояния / использование памяти / что-то для повреждения к приложению.
Если значение действительно чувствительно, это могло бы стоить стоимости сокрытия его. Однако затемнение ключа действительно не заставляет его защитить, не так ли? Необходимо проверить пользовательские роли в любом "контроллере" (сервлет, код - позади, безотносительно) прежде, чем предоставить доступ к объекту.
Довод "против": любой посетитель может легко попытаться предположить другие идентификаторы, которые не могут быть тем, что Вы хотите.