以下のコードを実装するより良い方法はありますか
<form id="myform" onsubmit="return saveUserData('firstname','lastname');" method="post">
function saveUserData() {
createJSONString(arguments);
return false;
}
function createJSONString(arguments) {
var userDetails = "{";
for (i = 0; i < arguments.length - 1; i++) {
userDetails += '"' + arguments[i] + '":' + '"' +document.getElementById(arguments[i]).value + '",';
}
userDetails += '"' + arguments[i] + '":' + '"' + document.getElementById(arguments[i]).value + "}";
alert(userDetails);
}
基本的に、関数 saveUserData はフォーム送信ボタンから呼び出されます。そのため、パラメータを関数に渡し、JSON のような文字列を作成して、Chrome と Firefox の localStorage 変数に格納できるようにするという考え方です。アイデアは、OCP を失敗させることではありません。将来、ミドル ネームを追加した場合、JavaScript コードを変更する必要はなく、HTML だけが変更されるからです。これを実装するより良い方法はありますか?
ありがとう